如何在openpyxl的ScatterChart中使用string作为y轴值?

时间:2014-08-31 10:17:51

标签: python openpyxl

目前似乎只支持整数作为y轴的值。我无法使用BarChart,因为它不接受系列中的x值。

    # the columns value here is int
    values = Reference(ws, (2, 2), (10, 2))
    # the columns value here is string
    values2 = Reference(ws, (2, 1), (10, 1))
    series = Series(values, xvalues=values2, title="Chart")
    chart = ScatterChart()
    chart.append(series)
    ws.add_chart(chart)
    wb.save(file_name) # exception

File "/lib/python3.4/site-packages/openpyxl/charts/graph.py", line 31, in compute_axes
    mini, maxi = self._get_extremes('xvalues')
File "/lib/python3.4/site-packages/openpyxl/charts/graph.py", line 58, in _get_extremes
    return min(series_min), max(series_max)
TypeError: unorderable types: NoneType() < int()

1 个答案:

答案 0 :(得分:1)

如果没有样本数据,很难说很多,但有一点需要注意,数据系列同时包含数据集和标签。 ScatterChart无法真正使用非数值轴。

在项目的示例代码中有一个带标签的BarChart示例。