如何在xlwings中设置图表以行作为横轴(abscissa)
解决xlwings折线图横轴设为行的问题
直接修改你的脚本,添加一行代码切换图表的数据方向即可:
import xlwings as xw wb = xw.Book(r"tests.xlsx") ws = wb.sheets['Sheet1'] # 添加图表 cp = (10, 10) ch = ws.charts.add(top=ws.range(cp).top, left=ws.range(cp).left, width=800, height=300) ch.chart_type = 'line_markers' ch.set_source_data(ws.range('A1:D3')) # 关键:切换为按行作为横轴(Excel枚举中xlRows=2,默认xlColumns=1) ch.api[1].PlotBy = 2 # 设置图表标题 ch.api[1].SetElement(2) ch.api[1].ChartTitle.Text = 'Test'
说明
- 默认情况下Excel图表会把列作为系列(纵轴分组),第一列作为横轴;
- 通过
ch.api[1].PlotBy = 2可以切换为把行作为系列,第一行(x、y、z)作为横轴,A、B、C则成为三条不同的折线系列。
内容的提问来源于stack exchange,提问作者guyguyguy12345
相关产品推荐
相关产品推荐

