Excel やその他のスプレッドシートは、シンプルなグラフィックを作成できるため、ビジネス現場で広く使用されています。レポートやプレゼンテーションを次のレベルに引き上げたい場合は、Python を学習して、群衆の中で目立つように強力なビジュアライゼーションを作成することを検討するとよいでしょう。
初期設定
Python ツールボックスの作成
Python でプロットを作成するには、適切なパッケージを使用して環境をセットアップする必要があります。これらには次のものが含まれます。
これらはライブラリではありませんが、IPython と Jupyter を使用すると、Python でのデータ操作がはるかに簡単になります。 IPython はインタラクティブな Python を強化し、Jupyter Notebooks は作業を簡単に追跡し、他のユーザーと共有できるようにします。
これらのツールをインストールするには、Python 環境を管理できるツールを使用するのが最善です。最近お気に入りのツールはPixiです。 Pixi は、macOS、Linux、Windows 上の PowerShell など、端末ベースのシステム用の Pixi Web サイトの手順に従ってインストールできます。
Pixi をインストールしたら、環境をインストールできます。これらはすぐに使用できるようにする必要があるため、グローバル環境にインストールできます。
pixi global install --environment graphics --expose jupyter --expose ipython jupyter numpy pandas seaborn matplotlib ipython
これにより、Jupyter、IPython、NumPy、Seaborn、および Matplotlib がインストールされます。 Matplotlib は Seaborn の依存関係であるため、いずれにせよインストールされているはずですが、いくつかのコマンドを Matplotlib に直接発行するため、使用できることを確認する必要があります。の --expose このオプションは、Pixi に IPython の実行可能ファイルを Jupyter で利用できるようにするよう指示します。
折れ線グラフ
時系列をプロットする
Seaborn を使用すると折れ線グラフを作成できます。まず、IPython または Jupyter を使用して、インストールしたばかりのライブラリをインポートする必要があります。
import numpy as np
import pandas as pd
import seaborn as sns
sns.set_theme()
import matplotlib.pyplot as plt
最初の 3 行は、短縮名を使用して NumPy、pandas、および Seaborn をインポートします。
Seaborn に含まれる組み込みデータセットの 1 つを使用して、時系列を表す折れ線グラフをデモンストレーションできます。これには、1949 年から 1960 年までの航空便と乗客数のリストが含まれています。
まず、データセットを読み込みます。
flights = sns.load_dataset('flights')
これにより pandas DataFrame が作成され、最初の数行を次のコマンドで調べることができます。 head() 方法:
flights.head()
次に、X 軸にその年の折れ線グラフを作成し、Y 軸に乗客数を表示します。
sns.lineplot(x='year',y='passengers',data=flights)
グラフが別のウィンドウに表示されます。
チャートは別のウィンドウに表示されます。
棒グラフ
棒グラフを作成することもできます。ニューヨーク市のレストランで、チップとともに請求書の金額を記録したウェイターからの別のデータセットを呼び出します。
tips = sns.load_dataset('tips')
数日間の合計請求額を示す棒グラフを作成します。
sns.catplot(x='day',y='total_bill',kind='bar',data=tips)
散布図/回帰
データの傾向を見つける
もう 1 つの便利な種類のプロットは、散布図と回帰、または傾向線の表示です。これらは統計、データ サイエンス、ビジネスで非常に一般的なため、Seaborn を使用して簡単に作成できます。
x 軸に合計請求額、y 軸にチップを使用して、チップと合計請求額の散布図を作成します。チップは従属変数となり、請求額の合計は独立変数となります。請求額の合計とチップの間に関係があるかどうかを確認したいと思います。
sns.relplot(x='total_bill',y='tip',data=tips)
請求額の合計に応じてチップも高額になることに気づくかもしれません。左から右に上がる直線を引くことができます。言い換えれば、両者の間には正の線形関係があるように見えます。請求額が大きいほど、チップも大きくなります。
この散布図を通じて直線、つまり線形回帰直線を描くこともできます。このコードは、散布図に使用したコードと非常によく似ています。
sns.regplot(x='total_bill',y='tip',data=tips)
高校の代数学で覚えたような古典的な y = mx + b 方程式を形成するための傾きや切片など、回帰直線の方程式の値は取得できないことに注意してください。方程式の値を取得する、SciPy や statsmodels などの別のライブラリを使用する必要があります。
タイトルを調整して保存する
ゴールデンタイムに向けてチャートを準備しましょう
プロットはそれ自体では適切に見えますが、グラフやプレゼンテーションに挿入する準備が整っていません。軸自体をより理解しやすくするために、軸のラベルを変更する必要がある場合があります。
Seaborn ではなく、基礎となる Matplotlib ライブラリを呼び出します。チップと請求書の回帰プロットを公開したいとします。これをレポートに含める場合にどのようにクリーンアップするかを次に示します。先ほどの回帰プロットのコードを使用しますが、Matplotlib を使用してタイトルを追加し、軸のラベルを変更します。
sns.regplot(x='total_bill',y='tip',data=tips)
plt.title("Tip vs. total bill in a New York City restaurant")
plt.xlabel("Total bill (USD)")
plt.ylabel("Tip (USD)")
plt.show()
これにより、タイトルが追加され、軸のアンダースコアが削除され、金額が米ドルであることが明確になります。
プロットを保存するには、 保存 ポップアップされたウィンドウ内の アイコンをクリックするか、次のコマンドを使用できます。
plt.savefig('/path/to/file')
これを文書またはプレゼンテーションにドロップできます。 Matplotlib は、PNG を含む多くの一般的な形式をサポートしています。
Python で見栄えの良いグラフを簡単に作成できます
Python を学ぶには少し時間がかかるかもしれませんが、少しの努力で、次のプレゼンテーションやレポートを活気づける出版品質のプロットを作成できます。言葉や数字が正しいかどうかを確認するのと同じくらい、視覚化にも力を注ぐべきではないでしょうか?
オペレーティング·システム
Ubuntu Linux 22.04 LTS
CPU
第13世代インテル Core i7-1360P
GPU
インテル Iris Xe グラフィックス
ラム
16GB DDR5
ストレージ
512GB SSD
重さ
2.71ポンド
Dell XPS 13 Plus with Linux は、強力なハードウェアと優れた画面を軽量で見栄えの良いシャーシに組み合わせ、素晴らしい Linux ラップトップを作成します。