热门标签:
Q:

使用python win32com在excel2007图表中更改轴标签

我有一个excel工作表,其中包含前两列中的一些数据。 我用这些数据创建了一个简单的图表。 我在向图表添加轴标签时遇到问题。

这是我的剧本

from win32com.client import Dispatch, constants
excel = win32com.client.Dispatch('Excel.Application')
wb = excel.Workbooks.Open( 'output_data.xls', False, True)
excel.Visible = False
ws1 = wb.Worksheets('sheet_1)
ch = ws1.Shapes.AddChart( 73, 200, 50, 800, 500).Select()
excel.ActiveChart.ApplyLayout(1)
excel.ActiveChart.SetSourceData(Source=ws1.Range("$A:$B"))
excel.ActiveChart.ChartTitle.Text = "Integral"
excel.ActiveChart.Legend.Delete()

-------到这一切都很好。

excel.ActiveChart.axes(constants.xlCategory).AxisTitle.Caption = "Z_coordinate" 

但是当我添加轴标签时,它返回一个属性错误xlCategory。

如何添加轴标签并更改字体大小。

先谢谢你。

原网址
A:

您可能使用了错误的枚举轴类型。 每个枚举(据我所知)仅适用于某些类型的图表。 根据内置的宏记录器(即使对于基于python的脚本也非常有用,顺便说一句),散点图使用xlValue,而不是xlCategory。 尝试其他枚举之一,直到您的代码工作

我还没有完全弄清楚Win32com中的Excel,但我设法让axis标题在经过一些尝试和错误后出现。 这是我为XY散点图编写的一些代码的简短片段,其中包含x轴,Y轴和Y2轴的标题:

    Foo = chart.SeriesCollection(1)
    Bar = chart.SeriesCollection(2)

    Bar.AxisGroup = 2

    Primary_Axis = chart.Axes(AxisGroup=xlPrimary)

    Foo_xAxis = Primary_Axis(1)
    Foo_yAxis = Primary_Axis(2)
    Foo_xAxis .HasTitle = True
    Foo_yAxis .HasTitle = True

    Bar_yAxis = chart.Axes(xlValue, AxisGroup=xlSecondary)
    Bar_yAxis.HasTitle = True

    Foo_xAxis .AxisTitle.Text = "Primary X axis string"
    Foo_yAxis .AxisTitle.Text = "Primary Y axis string"
    Bar_yAxis.AxisTitle.Text = "Secondary Y axis string(Y2)"

相似问题