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

2024-04-28 15:22:14 发布

您现在位置:Python中文网/ 问答频道 /正文

长时间潜伏,第一次问。如果我遗漏了什么,让我知道。在

我使用的是python35和openpyxl2.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磅的字体-对于图表大小来说太大了。我不想在图表大小上下功夫,因为我事先不知道有多少列会被绘制出来——这个脚本会读取每周的ERP转储并绘制特定结果的图形。在

openpyxl文档提供了格式化单元格的指导,但没有(我能找到)图表中文本大小的指导。任何帮助都将不胜感激。在


Tags: 文件to标题title代码段chart图表绘制
1条回答
网友
1楼 · 发布于 2024-04-28 15:22:14

我希望这不会让你太晚。经过大量的研究之后,我找到了一种使用Openpyxl改变图表段字体和大小的方法。在

字体的大小定义为sz=1500,这意味着通常的字体大小为15。用这个逻辑1200就是12。最小值为100,最大值为40万。在

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)])

相关问题 更多 >