【问题标题】:changing axis labels in excel 2007 charts using python win32com使用 python win32com 更改 excel 2007 图表中的轴标签
【发布时间】:2013-06-18 10:17:49
【问题描述】:

我有一个 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。

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

提前致谢。

【问题讨论】:

    标签: python charts excel-2007 python-2.6 win32com


    【解决方案1】:

    您可能使用了错误的枚举轴类型。每个枚举(据我所知)仅适用于某些类型的图表。根据内置的宏记录器(即使对于基于 python 的脚本也非常有用,顺便说一句),散点图使用 xlValue,而不是 xlCategory。试试one of the other enums until your code works

    我还没有完全弄清楚 win32com 中的 Excel,但经过一些试验和错误后,我设法让轴标题出现。这是我为 XY 散点图编写的一些代码的简短 sn-p,其中包含 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)"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      相关资源
      最近更新 更多