openpyxl可以将图表数据标签修改为所选单元格中的值吗?

时间:2018-01-02 23:44:38

标签: openpyxl

我有一个excel电子表格,其中包含三列的值。 A =任务,B =日期,C =团队。我编写了一些简单的代码来构建excel散点图,将值放在y轴的C列和x轴的B列值中。但是,我希望从A列中获取图表数据标签。是否存在这样做的方式?

目前我通过使用chart.dataLabels.showCatName = True将数据标签变为B列,这很有用,但不是我需要的。我认为可以通过chart.dataLabels参数dLbl指定标签,它代表datalabellist。源代码在这里http://openpyxl.readthedocs.io/en/2.3.5/_modules/openpyxl/chart/label.html

我在此问题上找到的最有用的帖子是https://groups.google.com/forum/#!topic/openpyxl-users/jB0pPVUtUsM,此处Adding labels to ScatterChart in openpyxl

目前图表看起来像这样。

chart = ScatterChart()
chart.title = "Team's Schedule"
chart.style = 7
chart.x_axis.title = 'Days'
chart.y_axis.title = 'Team'

xvalues = Reference(chart_sheet, min_col=2, min_row=2, max_row=20)
values = Reference(chart_sheet, min_col=3, min_row=1, max_row=20)
series = Series(values, xvalues, title_from_data=True)
chart.series.append(series)

s1 = chart.series[0]
s1.marker.symbol = "triangle"
s1.marker.graphicalProperties.solidFill = "FF0000" # Marker filling
s1.marker.graphicalProperties.line.solidFill = "FF0000" # Marker outline
s1.graphicalProperties.line.noFill = True

chart.dataLabels = DataLabelList()
chart.dataLabels.showCatName = True

chart_sheet.add_chart(chart, "F2")

0 个答案:

没有答案