需要帮助来格式化使用 openpyxl 创建的图表中的文本

Need help to format text in charts created using openpyxl

潜伏已久,第一次提问。如果我遗漏了什么,请告诉我。

我正在使用 python 35 和 openpyxl 2.4.0。我在 xlsx 文件中生成了许多图表。以下片段:

# create chart for summary graph
myChart = BarChart()
myChart.type = 'col'
myChart.style = 10
myChart.title = chartTitle    # 'chartTitle' is passed to the function
myChart.y_axis.title = 'No. of WRs'
myChart.x_axis.title = 'WR assignee'
# some lines here omitted (related to charted data)
myChart.shape = 4
newSheet.add_chart(myChart, 'F1')

一切正常,但图表标题和轴标题是 18 和 16 pt 字体——对于图表大小来说太大了。我不想处理图表大小,因为我事先不知道要绘制多少列 - 脚本会读取每周 ERP 转储并绘制特定结果的图表。

openpyxl 文档提供了有关格式化单元格的指导,但 none(我可以找到)有关图表内文本大小的指导。任何帮助将不胜感激。

我希望它不会让你太晚。经过大量研究,我找到了一种使用 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)])