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

标签 python python-3.x 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 文档提供了有关格式化单元格的指导,但没有(我能找到的)有关图表中文本大小的指导。任何帮助将不胜感激。

最佳答案

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

相关文章:

python - 'python setup.py install' 和 'pip install' 之间的区别

python - Could not fetch URL (python3.6 pip问题)

python - 根据名称分割线

python - Python 中的 Dialogflow API 访问后续意图

Python:写入 Excel 2007+ 文件(.xlsx 文件)

python - 合并两个单独的 Excel 工作表选项卡

python-3.x - 如何主动向团队 channel 发送消息

python - 如何打印出正确的预测类别?

python - 调用需要使用文本文件中的数据进行键盘输入的 Python 函数

python - 使用pyxl设置列宽时出现关键错误