Openpyxl可以用来创buildErrorBars瓦特/dynamic更新高度?

前面的问题显示了如何将错误栏高度设置为在python中设置的固定值。 是否可以设置,而不是将错误栏高度设置为其他单元格中由Excel存储的计算值? 理想情况下,更改底层数据可能会改变错误的高度?

对于这个问题,excel甚至有可能做什么?

这是我的尝试:

from openpyxl import Workbook from openpyxl.chart import BarChart, Reference from openpyxl.chart.data_source import NumDataSource, NumData, NumVal, NumRef from openpyxl.chart.series import ErrorBars from openpyxl.chart.series_factory import SeriesFactory from random import randint # Create a new workbook book = Workbook(encoding="utf-8") sheet = book.active # Write 5 random ints to worksheet for i in range (1,6): sheet.cell(row=i,column=1,value=randint(1,100)) # write formula to computer Average sheet.cell(row=6,column=1,value='=AVERAGE(A1:A5)') # write formula to compute StdDev sheet.cell(row=7,column=1,value='=_xlfn.STDEV.S(A1:A4)/10') # create a chart with single bar whose height is the Average As Calculated by Excel chart = BarChart() barheight = Reference(sheet, min_col=1, min_row=6, max_col=1, max_row=6) series = SeriesFactory(barheight) # This creates an error bar of static height 5 myNumVals = [NumVal(0, None, v=5)] myNumData = NumData(pt=myNumVals) myNumDataSource = NumDataSource(numLit=myNumData) # This seems like something that might work, but it doesn't work. # myNumDataSource = NumDataSource(NumRef("A7")) myErrorBars=ErrorBars(plus=myNumDataSource,minus=myNumDataSource,errDir='y',errValType='cust') series.errBars = myErrorBars chart.series.append(series) sheet.add_chart(chart, "A9") book.save('output.xlsx')