我正在尝试修改现有的xlsx表并使用python中的openpyxl模块向其添加图表。
但是在创建折线图时,系列标题显示为系列1,系列2,系列3,系列4,因为我需要将系列标题重命名为" A"," B"," C",D"。 (注意:此名称不是从任何单元格中提取的)
另一种可能的解决方案是从另一个工作表中提供系列名称,而不是同一工作表的行/列。但不确定它是否可行。
下面的代码为我提供了工作表行/列中的系列名称' ws'。 但我需要重命名它(自定义名称)或从另一个工作表中分配系列名称。
任何人都可以帮我解决这个问题吗?
c1 = LineChart()
c1.title = worksheet
c1.x_axis.title = "Average depth"
c1.y_axis.title = "Average Response time (ms)"
c1.y_axis.majorGridlines = None
refseries1 = Reference(ws, min_col=5, min_row=2, max_col=5, max_row=9)
seriesdata1 = Reference(ws, min_col=6, min_row=10, max_col=6, max_row=15)
c1.add_data(data=seriesdata1,titles_from_data=False)
c1.set_categories(refseries1)
在上面的代码中,refseries1是x轴数据,seriesdata1是y轴数据。
答案 0 :(得分:0)
我找到了适用于我的different question解决方案:
from openpyxl.chart import LineChart, Reference, Series
chart1 = LineChart()
# setup and append the first series
values = Reference(dprsheet, min_col=2, min_row=1, max_row=34)
series = Series(values, title="First series of values")
chart1.append(series)
# setup and append the second series
values = Reference(dprsheet, min_col=3, min_row=1, max_row=34)
series = Series(values, title="Second series of values")
chart1.append(series)
#set x-axis
dates = Reference(dprsheet, min_col=2, min_row=1, max_row=34)
chart1.set_categories(dates)
它比chart.add_data方法更加繁琐,我假设如果你在该方法的代码中挖掘,你会发现更多的东西...... pythony。