【问题标题】:Trying to display graph showing in x axis dates [duplicate]尝试显示以 x 轴日期显示的图表 [重复]
【发布时间】:2018-08-14 19:48:28
【问题描述】:

我是 matplotlib 的新手,由于我的 x 轴,我正在努力绘制折线图。

我有 3 个列表:

x=[01-01-2018,02-01-2018,03-01-2018]
y1=[10,12,9]
y2=[7,9,1] 

我期待在 x 轴上绘制一个 2 线图设置日期:

我期待使用子图来实现这一点,以便根据自己的喜好自定义图表。

为了做到这一点,我尝试的是:

ax1=plt.subplot2grid((1,1),(0,0))
ax1.plot(x,y1,label='test1')
ax1.plot(x,y2,label='test2')

plt.show()  

但是它输出:

ValueError: could not convert string to float: '01-01-2018'

我想要输出 2 折线图并在 x 轴上输出日期。 如何显示所需的输出?

【问题讨论】:

    标签: matplotlib


    【解决方案1】:

    您需要直接修改xticks。这是一个有效的示例:

    y1 = [10, 12, 9]
    y2 = [7, 9, 1]
    x=['01-01-2018','02-01-2018','03-01-2018']
    fig, ax = plt.subplots()
    ax.plot(y1,label='test1')
    ax.plot(y2, label='test2')
    ax.set_xticks([0,1,2])
    ax.set_xticklabels(x)
    plt.show()
    

    ax.set_xticks 行为每个点设置将出现在 x axis 上的特定刻度 -- 0 是第一个数据点的刻度,1 是第二个数据点的刻度,依此类推。

    ax.set_xticklabels 获取一个字符串列表,该列表的长度必须与您所做的滴答数相等。然后它将每个标签与每个刻度配对。

    您还应该查看matplotlib documentation and examples

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 2017-10-28
      相关资源
      最近更新 更多