{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "(development-python-plotly)=\n", "# Plotly の Python ライブラリでグラフをプロット" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Python パッケージ\n", "[Plotly](https://plotly.com/python/)\n", "はグラフをプロットするライブラリである。\n", "Plotly 自体は Python 以外に R や Javascript にも対応しており、\n", "グラフを表示する機能は Javascript で書かれている。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 機能\n", "\n", "- インタラクティブに値を見たり拡大・縮小したりできる\n", " HTML 形式のグラフを生成できる。\n", " (下記の例を参照)\n", "\n", "- 様々なグラフに対応している。\n", "\n", " - ギャラリーを参照:[Plotly Express | Python | Plotly](https://plotly.com/python/plotly-express/#gallery)\n", "\n", "- PNG, JPEG, SVG, PDF といった画像の出力もできる。\n", "\n", " - 古いバージョンでは画像出力用に別途バイナリをインストール必要があったものの、\n", " 現在は pip によるインストールのみで画像出力まで対応できる。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## インストール\n", "\n", "```bash\n", "pip install plotly\n", "pip install pandas # Plotly Express の機能を利用する場合は必要\n", "pip install kaleido # 画像ファイルの出力を行う場合は必要\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## プロットの例\n", "\n", "以下にプロットの例を示す。" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import plotly.express as px\n", "\n", "x = np.linspace(0, 6.28, 100)\n", "y = np.sin(x)\n", "\n", "# 折れ線グラフを作成\n", "fig = px.line(x=x, y=y)\n", "\n", "# Jupyter Lab で表示\n", "fig.show(renderer=\"notebook_connected\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## プロットの HTML 出力\n", "\n", "上記の例のようにインタラクティブなグラフは\n", "次のようにして HTML ファイルへ出力できる\n", "([Interactive HTML Export | Python | Plotly](https://plotly.com/python/interactive-html-export/))。\n", "\n", "```python\n", "fig.write_html('path_to_output.html')\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## プロットの画像ファイル出力\n", "\n", "静的な画像ファイルも出力できる。\n", "PNG, JPEG, SVG, PDF などに対応しているという\n", "([Static Image Export | Python | Plotly](https://plotly.com/python/static-image-export/))。\n", "\n", "```python\n", "fig.write_image('path_to_output.png')\n", "```" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" } }, "nbformat": 4, "nbformat_minor": 2 }