Python in Excelのサンプルに関連して、いくつかの記事を書いてきました。
- 1番「Python in Excel」らしいペアプロットを操作する
- Power Queryで取得したデータからPython in Excelのペアプロットを作成する
- Python in Excelの「線形回帰を生成する」サンプルをアヤメの種類ごとに色分けする
「散布図を作成する」サンプルについても、
言及しておきたいと思います。
「散布図を作成する」サンプルの例
「散布図を作成する」サンプルの[サンプルの挿入]ボタンをクリックすると、フィッシャーのアヤメデータを元に、以下のようなsepal_length(がくの長さ)とsepal_width(がくの幅)の散布図が作成されます。
このとき、以下のようなコードが作成されます。
import matplotlib.pyplot as plt
plt.scatter(xl("IrisDataSet2[sepal_length]"), xl("IrisDataSet2[sepal_width]"))
plt.xlabel('sepal_length')
plt.ylabel('sepal_width')
plt.title('Sepal length and width analysis')
pandas.DataFrame.plot.scatterで散布図を作成する
matplotlibを使ったサンプルを入れておきたかったというMicrosoftの意図はわかりますが、これくらいの散布図なら、私はpandasで作りたくなります。
2023年10月現在私は、データ分析の場面ではmatplotlibを直接操作するのはできるだけ避け、シンプルなグラフはpandasで、複雑なグラフはseabornで作り、細かな調整部分でmatplotlibを使うのが得策だと考えています。
以下のような、pandas.DataFrame.plot.scatterを使った2行のコードで、
df = xl("IrisDataSet2[#すべて]", headers=True)
df.plot.scatter('sepal_length', 'sepal_width', title='Sepal length and width analysis', s=46)
下図のように「散布図を作成する」サンプルに似た、散布図が作成されます。
上に配置されている散布図が「散布図を作成する」サンプルで作成したもので、下側がpandasのDataFrame.plot.scatterで作成したものです。
少しだけmatplotlibを直接操作
もっとも、上記コードの「df.plot.scatter('sepal_length', 'sepal_width', title='Sepal length and width analysis', s=46)」の行は、さすがにちょっと長すぎるようにも思います。
このグラフタイトルを設定する部分だけmatplotlibを直接操作する
df = xl("IrisDataSet2[#すべて]", headers=True)
df.plot.scatter('sepal_length', 'sepal_width', s=46)
plt.title('Sepal length and width analysis')
にするほうがイイかもしれません。
最終更新日時:2023-10-11 16:08
Home » Python » Python in Excelの使い方 » Python in Excelの「散布図を作成する」サンプルは直接matplotlibを使わなくても作れる