目次
環境
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にグラフを表示させています。
これで終了です。
参考になれば、幸いです。
ここまで読んでいただきありがとうございました。