パチスロ ライフk8 カジノ[解決!Python]OpenPyXLで面グラフをExcelワークシートに作成するには仮想通貨カジノパチンコパチンコ ゼータ ガンダム
配当 金 ランキング 米国 株k8 カジノ
渋谷 パチスロ 優良 店連載目次
面グラフ
from openpyxl import Workbookwb = Workbook()ws = wb.activevalues = [ (‘YEAR’, ‘A’, ‘B’, ‘C’), (2018, 750, 500, 300), (2019, 850, 700, 400), (2020, 700, 650, 500), (2021, 900, 800, 400)]for v in values: ws.append(v)from openpyxl.chart import AreaChart, Referencermin = ws.min_rowrmax = ws.max_rowcmin = ws.min_columncmax = ws.max_columnchart = AreaChart()src = Reference(ws, min_col=cmin+1, min_row=rmin, max_col=cmax, max_row=rmax)chart.add_data(src, titles_from_data=True)cat = Reference(ws, min_col=cmin, min_row=rmin+1, max_row=rmax) # 項目名の設定chart.set_categories(cat)chart.title = ‘Sample Chart’ # グラフタイトルchart.x_axis.title = ‘YEAR’ # 軸ラベルchart.y_axis.title = ‘SALES’chart.anchor = ‘A7’ # グラフの表示位置chart.width = 16 # グラフのサイズchart.height = 8ws.add_chart(chart)wb.save(‘sample_chart.xlsx’)# グラフのスタイルの変更chart.grouping = ‘stacked’ # 積み上げ面グラフchart.grouping = ‘percentStacked’ # 100%積み上げ面グラフ
3D面グラフ
from openpyxl.chart import AreaChart3Dchart = AreaChart3D()src = Reference(ws, min_col=cmin+1, min_row=rmin, max_col=cmax, max_row=rmax)chart.add_data(src, titles_from_data=True)cat = Reference(ws, min_col=cmin, min_row=rmin+1, max_row=rmax) # 項目名の設定chart.set_categories(cat)chart.title = ‘Sample Chart’ # グラフタイトルchart.x_axis.title = ‘YEAR’ # 軸ラベルchart.y_axis.title = ‘SALES’chart.anchor = ‘A24’ # グラフの表示位置chart.width = 16 # グラフのサイズchart.height = 8ws.add_chart(chart)wb.save(‘sample_chart.xlsx’)# 3次元面グラフでは第3軸のラベルが凡例と同じなので凡例を削除chart.legend = None# 系列の順序を入れ替えるchart.ser[0], chart.ser[2] = chart.ser[2], chart.ser[0]wb.save(‘sample_chart.xlsx’)
サンプルのワークシート
本稿では主に以下のコードで作成したワークシートを例に取る。
from openpyxl import Workbookwb = Workbook()ws = wb.activevalues = [ (‘YEAR’, ‘A’, ‘B’, ‘C’), (2018, 750, 500, 300), (2019, 850, 700, 400), (2020, 700, 650, 500), (2021, 900, 800, 400)]for v in values: ws.append(v)
このコードを実行してできたワークシートをExcelで表示したものが以下だ。
サンプルのワークシート面グラフの作成
OpenPyXLを使って面グラフを作成するには、openpyxl.chart.AreaChartクラスを使用する。その手順は以下の通り。
Referenceクラスを使って、グラフ作成の基となる範囲を指定するAreaChartクラスのインスタンス(グラフ)を生成するグラフのタイトル、軸ラベル、項目名などの設定を行うグラフにデータ(上で作成したReferenceクラスのインスタンス)を渡すワークシートにグラフを挿入する
面グラフ(AreaChart)で設定できる項目としては以下がある(一部)。
以下にこれらの設定を行って、面グラフを作成する例を示す。
from openpyxl.chart import AreaChart, Referencermin = ws.min_rowrmax = ws.max_rowcmin = ws.min_columncmax = ws.max_columnchart = AreaChart()src = Reference(ws, min_col=cmin+1, min_row=rmin, max_col=cmax, max_row=rmax)chart.add_data(src, titles_from_data=True)cat = Reference(ws, min_col=cmin, min_row=rmin+1, max_row=rmax) # 項目名の設定chart.set_categories(cat)chart.title = ‘Sample Chart’ # グラフタイトルchart.x_axis.title = ‘YEAR’ # 軸ラベルchart.y_axis.title = ‘SALES’chart.anchor = ‘A7’ # グラフの表示位置chart.width = 16 # グラフのサイズchart.height = 8ws.add_chart(chart)wb.save(‘sample_chart.xlsx’)
AreaChartで設定可能な項目
title属性やanchor属性など、多くの属性については上のコードを見れば、設定方法は分かるだろう(「OpenPyXLを使ってExcelワークシートに棒グラフを作成するには」でも取り上げているのでそちらも参照されたい)。
上のコードでは、変数srcにグラフ描画の基となるセル範囲を指定している。このとき、セル範囲の一番左の列を除外している(src = Reference(ws, min_col=cmin+1, min_row=rmin, max_col=cmax, max_row=rmax))。これは一番左の列をX軸に表示する項目名(2018~2021年)として使用するからだ。そして、変数catには今述べた一番左の列をReferenceクラスのインスタンスに指定して、それをset_categoriesメソッドに渡すようにしている。
一方、系列や凡例に使われるA/B/Cは変数srcが参照するセル範囲に含まれている。これは、add_dataメソッドでこのセル範囲をグラフ(変数chartが参照するAreaChartオブジェクト)に追加する際に「titles_from_data=True」として、セル範囲の先頭を系列名として使用するようにしているからだ。
上のコードで作成した面グラフを以下に示す。
作成した面グラフグラフの種類を変更する#CmsMembersControl .CmsMembersControlIn {width:100%;background:url(https://image.itmedia.co.jp/images/spacer.gif) #DDD;opacity:0.05;filter:progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=5);z-index:1;}続きを閲覧するには、ブラウザの JavaScript の設定を有効にする必要があります。仮想通貨カジノパチンコアイ ブレラ カレン