潜伏已久,第一次提问。如果我遗漏了什么,请告诉我。
我正在使用 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 文档提供了有关格式化单元格的指导,但没有(我能找到的)有关图表中文本大小的指导。任何帮助将不胜感激。
最佳答案
希望不会让你太晚。经过大量研究,我找到了一种使用 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)])
关于python - 需要帮助格式化使用 openpyxl 创建的图表中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40675503/