Openpyxl图表设置X轴标签文字倾斜90度
要设置x轴标签的文字倾斜90度,可以使用'openpyxl'中的'Font'和'Alignment'类来实现。
首先,需要导入相关的模块:
from openpyxl import Workbook
from openpyxl.drawing.text import RichText
from openpyxl.drawing.text import Paragraph
from openpyxl.drawing.text import Font
from openpyxl.drawing.text import CharacterProperties
from openpyxl.drawing.text import Alignment
然后,创建一个'Workbook'对象,并选择要绘制图表的工作表:
wb = Workbook()
ws = wb.active
接下来,创建一个'RichText'对象,并设置其中的'Paragraph'对象:
rt = RichText()
p = Paragraph()
然后,创建一个'Font'对象,并设置其属性,将文字倾斜90度:
font = Font()
font.vertAlign = 'superscript'
font.sz = 1200
font.i = True
然后,创建一个'CharacterProperties'对象,并设置其属性:
cProps = CharacterProperties()
cProps.set = [font]
然后,创建一个'Alignment'对象,并设置其属性,将文字倾斜90度:
alignment = Alignment()
alignment.textRotation = 90
最后,将'CharacterProperties'和'Alignment'对象分别添加到'Paragraph'对象中,并将'Paragraph'对象添加到'RichText'对象中:
p.pPr = cProps
p.alignment = alignment
rt.paragraphs.append(p)
接下来,创建一个图表对象,并设置其x轴标签为之前创建的'RichText'对象:
chart = BarChart()
chart.x_axis.title = "X轴"
chart.x_axis.txPr = rt
最后,将图表对象添加到工作表中,并保存工作簿:
ws.add_chart(chart, "A1")
wb.save("chart.xlsx")
完整的代码如下:
from openpyxl import Workbook
from openpyxl.drawing.text import RichText
from openpyxl.drawing.text import Paragraph
from openpyxl.drawing.text import Font
from openpyxl.drawing.text import CharacterProperties
from openpyxl.drawing.text import Alignment
from openpyxl.chart import BarChart
wb = Workbook()
ws = wb.active
rt = RichText()
p = Paragraph()
font = Font()
font.vertAlign = 'superscript'
font.sz = 1200
font.i = True
cProps = CharacterProperties()
cProps.set = [font]
alignment = Alignment()
alignment.textRotation = 90
p.pPr = cProps
p.alignment = alignment
rt.paragraphs.append(p)
chart = BarChart()
chart.x_axis.title = "X轴"
chart.x_axis.txPr = rt
ws.add_chart(chart, "A1")
wb.save("chart.xlsx")
执行以上代码后,将会生成一个带有倾斜90度的x轴标签的图表,并保存为'chart.xlsx'文件。
原文地址: https://www.cveoy.top/t/topic/j0XU 著作权归作者所有。请勿转载和采集!