gpt4 book ai didi

python - 如何在 matplotlib 中用日期字符串交换 x 刻度

转载 作者:太空宇宙 更新时间:2023-11-03 19:56:46 26 4
gpt4 key购买 nike

我正在通过以下方式关注 matplotlib 上的条形图教程:

https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781849513265/1/ch01lvl1sec16/plotting-multiple-bar-charts

import numpy as np
import matplotlib.pyplot as plt

data = [[5., 25., 50., 20.],
[4., 23., 51., 17.],
[6., 22., 52., 19.]]

color_list = ['b', 'g', 'r']
gap = .8 / len(data)
for i, row in enumerate(data):
X = np.arange(len(row))
plt.bar(X + i * gap, row,
width = gap,
color = color_list[i % len(color_list)])

plt.show()

这是我正在使用的代码,也是链接中的代码。我创建了链接中描述的图表,但在修改 x 轴值/xticks 并将其替换为日期时遇到问题

plt.xticks(['11-2019', '12-2019', '01-2020'])

我遇到了错误:

in convert_units f'units: {x!r}') from e matplotlib.units.ConversionError: Failed to convert value(s) to axis units: ['11-2019', '12-2019', '01-2020']

有人知道如何将 x 轴值交换到上面的日期吗?

最佳答案

matplotlib 的 xticks 需要位置和标签。来自documentary :

xticks(ticks, [labels], **kwargs)  # Set locations and labels

如果您想使用自定义报价,请添加一个仓位。您可以使用 np.arange 创建一系列值,这些值就是您的位置。我还添加了另一个勾号(字面意思),但这不是强制性的。如果您只使用三个刻度,则只会出现三个。

plt.xticks(np.arange(4),['11-2019', '12-2019', '01-2020', 'another tick'])

输出:

Figure

关于python - 如何在 matplotlib 中用日期字符串交换 x 刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59491870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com