python - 如何自动缩小图表的范围?

标签 python excel xlwings

首先对不起我的英语不好,因为它不是第一语言。
我最近开始学习python,我正在尝试开发一个“简单”的程序,但是我遇到了一个问题。

我正在使用 xlwings 来修改 Excel 并与之交互。我想要实现(或知道是否可能)是:

我有 excel 查看数据并绘制图表。但是,此图有时例如有 20 个 X 轴值,而在其他情况下,假设 X 轴有 10 个值,因此留下 10 个#NA 空白空间。基于此,我想通过更改形成图形的范围来调整图形以仅显示 10 个值。

函数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 个点,而不是例如 6 个点,其中一个是 #NA。

非常感谢,对文字墙感到抱歉。

最佳答案

xlwings API 没有提供很多图表选项(参见 https://docs.xlwings.org/en/stable/api.html?highlight=charts#xlwings.main.Charts )。

尝试在 wb.sheets[0].charts 中查找图表.

然后可以修改范围

range = xw.Range((1,1), (get_prod_hours(),1))
set_source_data(wb.sheets[0].range(range))

但是从查看 API 并知道 Excel 图表有多少选项来看,API 感觉太单薄了。

如果这不起作用,一个选项是添加一个修改图表并调用它的 VBA 宏。见 How do I call an Excel macro from Python using xlwings?

关于python - 如何自动缩小图表的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55496467/

相关文章:

python - python单元测试中的assertRaises没有捕获异常

VBA Excel : Getting result for multiple cells

excel - 如何比较两张 map

python - Linux 上的 xlwings 替代方案

python - 用户文件夹 VBA 引用位置(对于 xlwings)

python - 更新表语句在 pandasql 中不起作用

python - 如何删除具有多个子文件夹的主文件夹内的所有文件?

python - 使用 xlwings 在 Excel 中插入图像

python - scikit-learn 中的弃用警告

Excel VBA 在两个工作簿之间复制单元格