熊猫图条和线图问题

时间:2018-11-16 23:16:04

标签: python pandas matplotlib bar-chart line-plot

我正在尝试在条形图的顶部绘制折线图,​​以便从数据框中进行分析。每当我尝试添加折线图时,由于某些原因,右侧的y轴都会变成干草,而x轴上的条形图标题会从正确变为字母顺序。我希望右侧的y轴井然有序,并且如果可能的话,将直线弄直,下面是添加线后的条形图 我正在尝试在x上绘制索引值,x是城镇标签,y /轴在左侧y轴上,人口在右轴上。

首先应该是贝尔法斯特,然后是伦敦德里。

enter image description here

感谢别人的帮助。

x1= CitySample2017["index"]
y1= CitySample2017["Town/City"]



y2= CitySample2017["Population"]

ax1= CitySample2017.plot.bar(y="Town/City", x='index')

ax2 = ax1.twinx()

ax2.plot(x1, y2)

https://imgur.com/a/z4oSjWS

2 个答案:

答案 0 :(得分:1)

您正在使用matplotlib 2.1。升级到matplotlib 2.2或更高版本,代码将按预期工作。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"index" : ["Belfast", "London", "Twoabbey", "Lisboa", "Barra"],
                   "town" : [5000,1000,600,600,500],
                   "pop" : [12,14,16,18,20]})

ax1= df.plot.bar(y="town", x='index')

ax2 = ax1.twinx()

ax2.plot(df["index"], df["pop"])

plt.show()

enter image description here

答案 1 :(得分:0)

我不确定是否看不到您的数据,但请尝试运行此代码而不是您的代码:

ax1 = CitySample2017.plot.bar(x='index', y='Town/City')
ax2 = ax1.twinx()
CitySample2017.plot(x='index', y='Population', ax=ax2)