如何使用openpyxl显示x和y错误栏?

时间:2017-03-01 04:55:44

标签: openpyxl

我正在开发一个需要在Excel中生成xy图的项目。 x和y值具有与之相关的标准偏差。我想将x和y标准偏差显示为误差条。我可以单独显示每个错误栏,但不能同时显示两个。 下面是代码示例。任何建议将不胜感激。

D201_avgX = Reference(resultsws,min_col=D201_avg_col,min_row=2,max_col=D201_avg_col,max_row=smprow_n)
D201_stdevX = NumDataSource(NumRef(Reference(resultsws,min_col=D201_stdev_col,min_row=2,max_col=D201_stdev_col,max_row=smprow_n)))
D201_stdev = ErrorBars(plus = D201_stdevX,minus = D201_stdevX,errBarType = 'both',errDir = 'x', errValType = 'cust')
D199_avgY = Reference(resultsws,min_col=D199_avg_col,min_row=1,max_col=D199_avg_col,max_row=smprow_n)
D199_stdevY = NumDataSource(NumRef(Reference(resultsws,min_col=D199_stdev_col,min_row=1,max_col=D199_stdev_col,max_row=smprow_n)))
D199_stdev = ErrorBars(plus = D199_stdevY,minus = D199_stdevY,errBarType = 'both',errDir = 'y', errValType = 'cust')
D201_D199_ser = SeriesFactory(D199_avgY,D201_avgX,title_from_data=True)
D201_D199_ser.marker.symbol = 'circle'
D201_D199_ser.graphicalProperties.line.noFill = True
D201_D199_ser.errBars = D201_stdev
D201_D199_ser.errBars = D199_stdev


D201_D199_chart = ScatterChart()
D201_D199_chart.series.append(D201_D199_ser)
D201_D199_ser.trendline = Trendline(dispRSqr=True)
D201_D199_chart.x_axis.title = 'D201'
D201_D199_chart.y_axis.title = 'D199'
D201_D199_chart.height = 10
D201_D199_chart.width = 15

1 个答案:

答案 0 :(得分:0)

实施可能并不完美:它基于规范,并且在某些细节上并不清楚。我建议你在Excel或类似的地方创建一个相关的图表,然后查看生成的XML。您应该能够使用openpyxl创建相同的结构,它试图忠实地实现规范。如果有任何问题,请提交错误报告或提取请求。