我正在使用openpyxl
模块来绘制可用分析数据的图表。我可以绘制图表,但无法找到更改图表标题字体大小的选项。默认情况下,它将"18"作为字体大小。在openpyxl
中,有openpyxl.Styles
模块具有"字体"选项。使用该模块,我们可以更改单元格中可用数据的字体。但是,而不是图表标题的字体大小。有没有人能帮上忙...
下面是我的代码:
from openpyxl import Workbook
from openpyxl.styles import Style, Font
from openpyxl.chart import (
AreaChart,
Reference,
Series,
)
wb = Workbook()
ws = wb.active
rows = [
['Number', 'Batch 1', 'Batch 2'],
[2, 40, 30],
[3, 40, 25],
[4, 50, 30],
[5, 30, 10],
[6, 25, 5],
[7, 50, 10],
]
for row in rows:
ws.append(row)
chart = AreaChart()
chart.title = "Area Chart"
chart.style = 20
chart.x_axis.title = 'Test'
chart.y_axis.title = 'Percentage'
chart.x_axis.Font = 10 -- /# Trying like this to change the font size. But throwing error #/
chart.y_axis.Font = 10
cats = Reference(ws, min_col=1, min_row=1, max_row=7)
data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=7)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
ws.add_chart(chart, "A10")
wb.save("area.xlsx")
请在这方面帮助我
3条答案
按热度按时间nkoocmlb1#
尝试使用整数
sz
(大小)值应用CharacterProperties
的以下代码段:vlf7wbxs2#
这对我来说肯定有效。我在自己的项目中成功地使用了这个
chart.y_axis.title.tx.rich.p返回包含各种属性的列表。第一个元素(=p[0])包含定义标题字体样式的pPr(=ParagraphProperties)。您可以通过这种方式为自己的自定义pPr(=pp)分配所需的样式
r6vfmomb3#
这里是另一个解决方案,因为旧的答案(和这里的其他答案)在我的情况下不起作用:
在负责模块的source code中有更多信息-“openpyxl.chart.title”,查找函数“title_maker(text)"。
来源:openpyxl docs、example from python-forum