python-pptx
ライブラリを使用して作成したパワーポイントチャートにタイトルを追加しようとしています。私はPython 2.7とPython pptx version 0.6.1でOSXを使っています。グラフのタイトルは、python-pptxを使用して
チャートを作成するためのコードは以下の通りです:、あなたが思っている場合には
chart.has_title = True
chart.title = sheetname
値:
今df = pd.read_excel("/Users/vagabond/Documents/python_pptx_3/Bar_Charts.xlsx", sheetname=None)
f = open('/Users/vagabond/Documents/python_pptx_3/Presentation1.pptx')
prs = ppt.Presentation(f)
for sheetname, data in df.iteritems():
slide_layout = prs.slide_layouts[9]
slide = prs.slides.add_slide(slide_layout)
chart_data = ppt.chart.data.XyChartData()
series_1 = chart_data.add_series('Series 1')
## iterate through rows of the data frame for desired columns and add data points
for index, row in data.iterrows():
series_1.add_data_point(row['Share_of_apples'], row['Share_of_oranges'])
## define co-ordinates on the slide
x, y, cx, cy = Inches(1), Inches(3), Inches(7), Inches(4)
chart = slide.shapes.add_chart(
XL_CHART_TYPE.XY_SCATTER, x, y, cx, cy, chart_data
).chart
prs.save('scatter_charts.pptx')
タイトルを追加するために、私はslide.shapes.add_chart
呼び出しの後に次を追加しましたchart.title = sheetname
のsheetnameは、最初の行で読んだdict dfのdictキーです。どのチャートでも、辞書のキーと値のペアのキーを割り当てる必要があります。プログラムはエラーなく実行されます。
問題は、チャートタイトルを追加しないことです。
chart.chart_titleは、任意の値が含まれており、それは私にエラーを与える場合、私がチェック:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-26-7cb6c1e79da2> in <module>()
1 chart.has_title = True
2
----> 3 chart.chart_title.has_text_frame = True
AttributeError: 'Chart' object has no attribute 'chart_title'
あなたは 'python-pptx'がそのAPIに' Chart.chart_title'を持っていたと思ったことがありますか?ときには、人々は検索の強化提案の1つを見つけ、実際には "それがこれをしたら涼しくないでしょうか?"情報: – scanny
はい、私はドキュメントでそれを読んで、すでに実装されていると思った。誤解している可能性があります。私はリンクを共有します。 – vagabond
リンク先は:http://python-pptx.readthedocs.io/en/latest/dev/analysis/cht-title.html?highlight=titleです。 「まだサポートされていませんが、グラフのタイトルはExcelのワークシートのセル参照としてXMLで指定できます。一般的に、タイトルの建設的な操作によってこれは削除されます。私はそれをどのように解釈するのか分からなかった。 – vagabond