【问题标题】:Difficulties plotting two lines into one graph将两条线绘制成一张图的困难
【发布时间】:2019-11-07 14:41:29
【问题描述】:

我遇到了 matplotlib 的问题。我有四个数据列表,一些比率及其对应的年份,一些值及其对应的年份。我正在尝试将两条线写入一个图形,以便左右 Y 轴具有不同的比例,但两条线共享一个共同的 X 轴。另一个年份列表也比另一个短一些。

这就是我目前拥有的

gdp_years, gdp_rates = get_ordered_values(gdp_url)
un_years, un_rates = get_ordered_values(un_url)

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('Year')
ax1.set_ylabel('GDP', color=color)
ax1.plot(gdp_rates, color=color)
ax1.tick_params(axis='y', labelcolor=color)

ax2 = ax1.twinx()

color = 'tab:blue'
ax2.set_ylabel('UN', color=color)
ax2.plot(un_rates, color=color)
ax2.tick_params(axis='y', labelcolor=color)

fig.tight_layout()
plt.show()

这是我现在的图表。

那些比例似乎还可以,但 X 轴不正确。我试图从列表中获取那些年份标签来表示 X 轴,但我无法弄清楚。年份应该是从 1960 年到 2018 年,但现在 X 轴显示从 0 到 60。因此,我相信蓝线也放错了。

【问题讨论】:

    标签: python matplotlib plot graph


    【解决方案1】:

    您忘记绘制 x 值,即各自的年份。你应该这样做

    ax1.plot(gdp_years, gdp_rates, color=color)
    
    ax2.plot(un_years, un_rates, color=color)
    

    【讨论】:

    • 谢谢!我想我应该休息一下.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    相关资源
    最近更新 更多