Python 如何自动缩小图表的范围?
首先,很抱歉我的英语不好,因为它不是第一语言。 我最近开始学习python,并试图开发一个“简单”的程序,但我遇到了一个问题 我正在使用xlwings修改Excel并与之交互。我想要实现的(或知道是否可能)是: 我让excel查看数据并绘制图表。然而,该图有时有20个X轴值,在其他情况下,比如说10个X轴值,因此留下10个空空间。基于此,我想通过改变图形的形状范围来调整图形,使其仅显示10个值 函数Python 如何自动缩小图表的范围?,python,excel,xlwings,Python,Excel,Xlwings,首先,很抱歉我的英语不好,因为它不是第一语言。 我最近开始学习python,并试图开发一个“简单”的程序,但我遇到了一个问题 我正在使用xlwings修改Excel并与之交互。我想要实现的(或知道是否可能)是: 我让excel查看数据并绘制图表。然而,该图有时有20个X轴值,在其他情况下,比如说10个X轴值,因此留下10个空空间。基于此,我想通过改变图形的形状范围来调整图形,使其仅显示10个值 函数get_prod_hours()查看我希望在X轴上显示多少值: def get_prod_hour
get_prod_hours()
查看我希望在X轴上显示多少值:
def get_prod_hours():
"""From the input gets the production hours to adapt the graphs"""
dt = wb.sheets['Calculatrice']
return dt.range('E24').value
根据从函数中得到的值,我必须修改图上的值范围(通过缩小它)
例如,从头开始创建图形的解决方案是不可行的,因为我只想修改图形的范围,因为Excel文件是我公司的“标准”
我希望有这样的事情:
Excel中的A列,其值为:1、2、3、4、5
,并从get_prod_hours()
获取值为5,因此我的图表将只有5个点,而不是其中一个为#NA的示例6
非常感谢,很抱歉出现了文字墙。xlwings API没有为图表提供很多选项(请参阅) 尝试在wb.sheets[0]中查找图表 然后,可以使用
range = xw.Range((1,1), (get_prod_hours(),1))
set_source_data(wb.sheets[0].range(range))
但是从查看API和了解Excel图表有多少选项来看,API感觉太薄了
如果这不起作用,一个选项是添加一个VBA宏来修改图表并调用它。参见你好,亚伦,首先,非常感谢你的回答。改变…范围('A1')的选项我尝试过,但是,图表的数据来自不同的来源。。。是否有任何方法可以缩短直线图上的“水平轴值”?如果不缩短值,则将范围缩小到
A1:E1
(如果只需要5个值)。这将忽略F1
和up中没有的值。使用xlwings,您甚至可以使用数值:xw.Range((1,1),(get_prod_hours(),1))
而不是构建编程解决方案,尤其是Excel外部的解决方案,您可以使用完善的协议,使用Excel函数使图表数据动态。在我的教程中有一个简单的例子和一些链接。