2016-08-20 181 views
4

現在、y軸のタイトル&のフォントをチャートのタイトル自体を変更することに苦心しています。openpyxl chageのフォントサイズtitle&y_axis.title

私はフォント設定&をタイトルに適用しようとしましたが、運が悪いことはありません。

new_chart.y_axis.title = chart_dict['y_title'] 
ft = Font(name='Calibri', 
      size=11, 
      bold = False, 
      italic = False, 
      vertAlign = None, 
      underline = 'none', 
      strike = False, 
      color = 'FF000000') 

new_chart.y_axis.title.font = ft 

このため任意の簡単な設定がある - のような:

chart.y_axis.title.some_size_attrib = 12 

または私は間違った方向にしていますか?

+0

を。 openpyxlメーリングリストに関するさまざまな議論を見てください。 –

答えて

3

私はそれがあなたを遅くさせないことを願っています。多くの研究の後、私はOpenpyxlを使ってグラフのセグメントからフォントとそのサイズを変更する方法を見つけることができました。

フォントのサイズはsz = 1500で定義されています。これは通常の15フォントサイズを意味します。その論理1200を使用するのは12です。最小値は100、最大値は400000です。

from openpyxl.chart.text import RichText 
from openpyxl.drawing.text import Paragraph, ParagraphProperties, CharacterProperties, Font  

font_test = Font(typeface='Calibri') 
cp = CharacterProperties(latin=font_test, sz=1500) 
chart.x_axis.txPr = RichText(p=[Paragraph(pPr=ParagraphProperties(defRPr=cp), endParaRPr=cp)]) 
0

私の場合は正しく動作しませんでした。 私が最後に使用したものました。私の場合は

from openpyxl.drawing.text import CharacterProperties 

cp = CharacterProperties(sz=1100) # Where size goes from 100 till 40000 
mygraph.x_axis.title.tx.rich.p[0].r.rPr = cp 
1

、これらの答えのどちらも働いたので、私はこれでした:これを実行する簡単な方法はありません

from openpyxl.drawing.text import CharacterProperties, Paragraph, ParagraphProperties, RegularTextRun 

cp = CharacterProperties(sz=1200) 
xtStr = u"X-axis Title" 
ytStr = u"Y-axis Title" 
myChart.x_axis.title = "" 
myChart.y_axis.title = "" 
xPara = [Paragraph(pPr=ParagraphProperties(defRPr=cp), r=RegularTextRun(t=s)) for s in xtStr.split("\n")] 
yPara = [Paragraph(pPr=ParagraphProperties(defRPr=cp), r=RegularTextRun(t=s)) for s in ytStr.split("\n")] 
myChart.x_axis.title.tx.rich.paragraphs = xPara 
myChart.y_axis.title.tx.rich.paragraphs = yPara 
関連する問題