如何在openpyxl的ScatterChart中将字符串用作y轴值?

0 投票
1 回答
739 浏览
提问于 2025-04-19 01:52

目前看来,y轴上只能使用整数作为值。我不能使用BarChart,因为它不接受Series中的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 个回答

1

没有示例数据,很难说太多。不过有一点需要注意,数据系列包含数据集和标签。散点图是无法使用非数字的坐标轴的。

在项目的示例代码中,有一个带标签的柱状图的例子。

撰写回答