我目前正在努力改变y轴标题&的字体。图表标题本身。
我试图创建一个字体设置&将它应用于标题 - 没有运气,所以永远如此。
new_chart.y_axis.title = chart_dict['y_title']
ft = Font(name='Calibri',
size=11,
bold = False,
italic = False,
vertAlign = None,
underline = 'none',
strike = False,
color = 'FF000000')
new_chart.y_axis.title.font = ft
是否有任何简单的设置 - 例如:
chart.y_axis.title.some_size_attrib = 12
还是我的方向错误?
答案 0 :(得分:4)
我希望它不会让你太晚。经过大量研究后,我能够找到一种方法,使用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)])
答案 1 :(得分:2)
在我的情况下无法正常工作。 我最后使用的那个是:
from openpyxl.drawing.text import CharacterProperties
cp = CharacterProperties(sz=1100) # Where size goes from 100 till 40000
mygraph.x_axis.title.tx.rich.p[0].r.rPr = cp
答案 2 :(得分:1)
就我而言,这些答案都不起作用,所以我这样做了:
from openpyxl.drawing.text import CharacterProperties, Paragraph, ParagraphProperties, RegularTextRun
cp = CharacterProperties(sz=1200)
xtStr = u"X-axis Title"
ytStr = u"Y-axis Title"
myChart.x_axis.title = ""
myChart.y_axis.title = ""
xPara = [Paragraph(pPr=ParagraphProperties(defRPr=cp), r=RegularTextRun(t=s)) for s in xtStr.split("\n")]
yPara = [Paragraph(pPr=ParagraphProperties(defRPr=cp), r=RegularTextRun(t=s)) for s in ytStr.split("\n")]
myChart.x_axis.title.tx.rich.paragraphs = xPara
myChart.y_axis.title.tx.rich.paragraphs = yPara
答案 3 :(得分:0)
这是更改图表标题大小的代码段
from openpyxl.drawing.text import (
ParagraphProperties,
CharacterProperties,
)
def set_chart_title_size(chart, size=1400):
paraprops = ParagraphProperties()
paraprops.defRPr = CharacterProperties(sz=size)
for para in chart.title.tx.rich.paragraphs:
para.pPr=paraprops
set_chart_title_size(chart, size=1400)