2017-07-04 54 views
1

グラフをxlwingsでプロットすると、グラフの名前を変更できません。チャートの名前と伝説の名はまだ「シリーズ1」であり、私はXlwingsでグラフ名を設定

import xlwings as xw 

sht = xw.Book().sheets[0] 
sht.range('A1').value = list(zip([1, 2, 3, 4])) 
chart = sht.charts.add() 
chart.set_source_data(sht.range('A1').expand()) 
chart.chart_type = 'line_markers' 
chart.name='Feb sales' 
#chart.api.ChartTitle.Text = 'Feb sales' 
#chart.delete() 

created chart

たいれる左上隅ショー「2月の売上高」これは既知の問題ですか?これをどうすれば解決できますか?

答えて

2

これは動作するはずです:

import xlwings as xw 

sht = xw.Book().sheets[0] 
sht.range('A1').value = list(zip([1, 2, 3, 4])) 
chart = sht.charts.add() 
chart.set_source_data(sht.range('A1').expand()) 
chart.chart_type = 'line_markers' 

chart.api[1].SetElement(2) # Place chart title at the top 
chart.api[1].ChartTitle.Text = 'Feb sales' # Change text of the chart title 

式はchart.api 2人のCOMラッパーとのタプルを返します。なぜ2つのCOMラッパーがあるのか​​分かりませんが、グラフにアクセスするには2つ目のCOMラッパーが必要なようです。したがってここでchart.api[1]の使用。

属性xlwings.Chart.nameを使用すると、ExcelのグラフのNameプロパティを(質問のコードと同じように)設定できますが、これは表示に使用されるプロパティではありません。グラフにテキストを表示するには、Excelの図表のChartTitleプロパティを設定する必要があります(この回答のコードを参照)。

+0

はい、これは機能します。ドキュメントにchart.name関数があることに気付いたので、私はxlwingsだけでグラフの名前を変更できますか? – Tom

+0

@Tom編集された答えをご覧ください。 – Xukrao

関連する問題