请参考下图:
使用下面的代码,我得到第一个图形,但我需要的是第二个图形。请让我知道我哪里错了
import openpyxl
xfile = openpyxl.load_workbook("chart.xlsx")
sheet = xfile["Chart"]
c = openpyxl.chart.LineChart()
c.title = "Graph"
c.style = 1
c.y_axis.title = 'Time'
c.x_axis.title = 'WF'
data = openpyxl.chart.Reference(sheet, min_col=1, min_row=1, max_col=2, max_row=sheet.max_row)
c.add_data(data, titles_from_data=True)
sheet.add_chart(c, "C1")
xfile.save("chart.xlsx")
答案 0 :(得分:0)
您的问题尚不完全清楚。 我想您的问题只是关于X轴,而不是图表的样式。
要获取“相同”图表,您必须设置X轴的标签,并从第一列中选择这些值。
import openpyxl
chart_directory = "chart.xlsx"
xfile = openpyxl.load_workbook(chart_directory)
sheet = xfile["Chart"]
c = openpyxl.chart.LineChart()
c.title = "Graph"
c.style = 2
c.y_axis.title = 'Time'
c.x_axis.title = 'WF'
#Select the lables to set
labels = openpyxl.chart.Reference(sheet, min_col=1, min_row=2, max_row=sheet.max_row, max_col=1)
#Select the values to set
data = openpyxl.chart.Reference(sheet, min_col=2, min_row=1, max_row=sheet.max_row)
#Set the values
c.add_data(data, titles_from_data=True)
#Set the labels
c.set_categories(labels)
sheet.add_chart(c, "C1")
xfile.save(chart_directory)
在此示例代码中,您可以看到我从第二行到最后一行选择标签作为第一列。 之后,您可以选择要从第1行打印为第2列的值(这样它将保留该系列的图例名称)直到最后一行。
您必须在图表中设置数据,然后设置标签。