Openpyxl Chart Error Bar Styles
I've been assigned a 'simple' task of collecting series of data columns to a results workbook. The results workbook contains necessary formulas and charts to analyze the results. T
Solution 1:
It seems NumVal
, NumData
and NumDataSource
are needed to create ErrorBars
from scratch:
# References for X and Y
xvalues = Reference(<worksheet>, min_col=<xcol>, min_row=<min>, max_row=<max>)
yvalues = Reference(<worksheet>, min_col=<ycol>, min_row=<min>, max_row=<max>)
plus = [<list of error values for plus>]
minus = [<list of error values for minus>]
# Convert lists of error values to ErrorBars object
errorbars = list2errorbars(plus, minus, errDir='y')
# Create series data and set error bar
series = SeriesFactory(yvalues, xvalues, title="y direction error")
series.errBars = errorbars
def list2errorbars(plus, minus, errDir='y', errValType='cust'):
"Returns ErrorBar from lists of error values"
#Convert to list of NumVal
numvals_plus = [NumVal(i, None, v=x) for i,x in enumerate(plus)]
numvals_minus = [NumVal(i, None, v=x) for i,x in enumerate(minus)]
# Convert to NumData
nd_plus = NumData(pt=numvals_plus)
nd_minus = NumData(pt=numvals_minus)
# Convert to NumDataSource
nds_plus = NumDataSource(numLit=nd_plus)
nds_minus = NumDataSource(numLit=nd_minus)
return ErrorBars(plus=nds_plus, minus=nds_minus, errDir=errDir, errValType=errValType)
Full example code: https://github.com/uskysd/openpyxl-errorbar
Since I couldn't find good documentation either, I figured out from source code. Let me know if there are any easier ways to do this.
Post a Comment for "Openpyxl Chart Error Bar Styles"