散布図を作る【python】

目次

環境

Windowsの仕様

エディション:Windows 10 Pro

バージョン:20H2

経緯

pythonのopenpyxlで散布図を作りたくて、

今回勉強しました。

chart.ScatterChart()を使う

”まとめ”という名前のsheetのA列に日付、B列に体温が入力されているデータがあるとします。それの散布図を書いてみました。

まず、プログラムを書きますね。

import openpyxl as sc

chart = sc.chart.ScatterChart()

chart.width =18
chart.height = 10

chart.title = "森の体温"
chart.x_axis.title = "Date"
chart.y_axis.title = "温度(℃)"
chart.legend = None

y = px.chart.Reference(wb["まとめ"] ,min_col=2 ,max_col=2 ,min_row=2 ,max_row=1000) #1000は適当
x = px.chart.Reference(wb["まとめ"] ,min_col=1 ,max_col=1 ,min_row=2 ,max_row=1000) #1000は適当

series = sc.chart.Series(y, x)

series.graphicalProperties.line.noFill = True

series.marker.symbol = "auto"

chart.series.append(series)

wb["まとめ"].add_chart(chart,"A4")

説明します。空白の行は省略しています。

1行目はインポートです。

2行目、散布図をグラフ変数の”chart”として定義しています。

3行目、グラフの長さを決めてます。

4行目、グラフの幅を決めてます。

5行目、グラフのタイトルを決めてます。

6行目、グラフのxラベルを決めてます。

7行目、グラフのyラベルを決めてます。

8行目、グラフの凡例の有無を決めてます。

9行目、y軸のデータの範囲を決めています。

10行目、x軸のデータの範囲を決めています。

11行目、 系列変数seriesのy,xを指定して定義してます。

12行目、線を消してます。

13行目、マーカーを表示してます。

14行目、2行目に散布図として、定義したchartへデータをしてseries変数へ渡しています。

15行目、セルA4にグラフを表示させています。

これで終了です。

参考になれば、幸いです。

ここまで読んでいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次