Openpyxl 条形图 错误条
Openpyxl Bar graph Error bars
我想知道是否可以将错误栏系列设置为参考。我想做的是引用已经计算出错误值的单元格。然后将其显示在条形图的顶部。
我发现了一个类似的问题,他们似乎做了我正在尝试的一个版本,但是当我编辑他们的示例时,我得到了一个错误。
任何建议将不胜感激。谢谢你的时间。
我想要的图表和误差线的示例
错误:
类型错误:预期 class 'openpyxl.chart.error_bar.ErrorBars'
类似问题
我的当前代码
chart1 = BarChart()
chart1.type = "col"
chart1.height = 10
chart1.width = col + 7
chart1.title = name
data = Reference(ws, min_col=4, min_row=23, max_col=17)
cats = Reference(ws, min_col=4, min_row=29, max_col = 17)
eBars = Reference(ws, min_col=4, min_row=26, max_col=17)
s= Series(data)
series = SeriesFactory(data, title="y direction error")
series.errBars = eBars
chart1.append(s)
chart1.append(series)
chart1.legend = None
chart1.set_categories(cats)
chart1.x_axis.tickLblPos = "low"
#chart1.x_axis.tickLblSkip = 0
chart1.shape = 10
ws.add_chart(chart1, "C3")
Comment: ... setting a reference to the plus and minus
我明白你的意思,将 numLit
替换为 numRef
:
class openpyxl.chart.data_source.NumDataSource(numRef=None, numLit=None)
`numLit` Values must be of type <class ‘openpyxl.chart.data_source.NumData’>
`numRef` Values must be of type <class ‘openpyxl.chart.data_source.NumRef’>
eBarsNumDataSource = NumDataSource(NumRef(eBars))
series.errBars = ErrorBars(errDir='y', errValType='cust', plus=eBarsNumDataSource, minus=eBarsNumDataSource)
Question: TypeError: expected class 'openpyxl.chart.error_bar.ErrorBars'
您的 eBars
是 Reference
类型,但您需要 openpyxl.chart.error_bar.ErrorBars
类型。
class openpyxl.chart.error_bar.ErrorBars
class openpyxl.chart.error_bar.ErrorBars(
errDir=None,
errBarType='both',
errValType='fixedVal',
noEndCap=None, plus=None, minus=None, val=None, spPr=None, extLst=None)
您至少需要以下参数:
ErrorBars(errDir=Value must be one of {‘x’, ‘y’},
plus=Values must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>,
minus=Values must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>,
)
在链接的类似问题中关注 def list2errorbars(...
。
我想知道是否可以将错误栏系列设置为参考。我想做的是引用已经计算出错误值的单元格。然后将其显示在条形图的顶部。
我发现了一个类似的问题,他们似乎做了我正在尝试的一个版本,但是当我编辑他们的示例时,我得到了一个错误。 任何建议将不胜感激。谢谢你的时间。
我想要的图表和误差线的示例
类型错误:预期 class 'openpyxl.chart.error_bar.ErrorBars'
类似问题
我的当前代码
chart1 = BarChart()
chart1.type = "col"
chart1.height = 10
chart1.width = col + 7
chart1.title = name
data = Reference(ws, min_col=4, min_row=23, max_col=17)
cats = Reference(ws, min_col=4, min_row=29, max_col = 17)
eBars = Reference(ws, min_col=4, min_row=26, max_col=17)
s= Series(data)
series = SeriesFactory(data, title="y direction error")
series.errBars = eBars
chart1.append(s)
chart1.append(series)
chart1.legend = None
chart1.set_categories(cats)
chart1.x_axis.tickLblPos = "low"
#chart1.x_axis.tickLblSkip = 0
chart1.shape = 10
ws.add_chart(chart1, "C3")
Comment: ... setting a reference to the plus and minus
我明白你的意思,将 numLit
替换为 numRef
:
class openpyxl.chart.data_source.NumDataSource(numRef=None, numLit=None) `numLit` Values must be of type <class ‘openpyxl.chart.data_source.NumData’> `numRef` Values must be of type <class ‘openpyxl.chart.data_source.NumRef’>
eBarsNumDataSource = NumDataSource(NumRef(eBars))
series.errBars = ErrorBars(errDir='y', errValType='cust', plus=eBarsNumDataSource, minus=eBarsNumDataSource)
Question: TypeError: expected class 'openpyxl.chart.error_bar.ErrorBars'
您的 eBars
是 Reference
类型,但您需要 openpyxl.chart.error_bar.ErrorBars
类型。
class openpyxl.chart.error_bar.ErrorBars
class openpyxl.chart.error_bar.ErrorBars( errDir=None, errBarType='both', errValType='fixedVal', noEndCap=None, plus=None, minus=None, val=None, spPr=None, extLst=None)
您至少需要以下参数:
ErrorBars(errDir=Value must be one of {‘x’, ‘y’},
plus=Values must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>,
minus=Values must be of type <class ‘openpyxl.chart.data_source.NumDataSource’>,
)
在链接的类似问题中关注 def list2errorbars(...
。