我想使用openpyxl制作条形图,将预先计算的平均值作为主要指标,将预先计算的标准偏差作为误差指标。每个主条代表在某种处理类型上生长的某种植物突变体。
示例数据:
Average StDev
Mutant1 Treatment1 3 0.5
Mutant1 Treatment1 5 0.4
Mutant2 Treatment2 4 0.8
Mutant2 Treatment2 2 0.1
Mutant3 Treatment3 7 0.4
Mutant3 Treatment3 5 0.7
精心裁剪的示例图:
我看到其他人也提出了非常相似的问题,但我完全不知道如何理解错误栏部分。
这是我到目前为止所拥有的。它输出的图形缺少很多核心组件,因此到目前为止还很裸露。
import openpyxl as xl
from openpyxl.chart import BarChart, Series, Reference
from openpyxl.chart.series_factory import SeriesFactory
from openpyxl.chart.error_bar import ErrorBars
from openpyxl.chart.data_source import NumDataSource, NumData, NumVal
import numpy as np
excel_file = 'treatment_copy.xlsx'#input("Please input excel file to be analyzed: ")
wb = xl.load_workbook(excel_file)
sheet = wb["Sheet2"]
chart1 = BarChart()
chart1.height = 10
chart1.width = 15
chart1.title = 'Example Title'
data = Reference(sheet,
min_col=3,
min_row=2,
max_col=3,
max_row =7)
cats = Reference(sheet,
min_col=1,
min_row=2,
max_col=2,
max_row =7)
chart1.add_data(data)
chart1.set_categories(cats)
sheet.add_chart(chart1, "A45")
wb.save(excel_file)
感谢您的帮助!