我有一个DataFrame如下:
Rate per 100,000 population Gambling EXP per Adult
Local Government Area
City of Banyule 7587.7 555.188876
City of Bayside 5189.9 171.282451
City of Boroondara 4877.0 141.675636
City of Brimbank 9739.0 904.959407
City of Casey 7790.6 561.086313
我已经多次尝试绘制两个y轴对应右两列,最左边的列是x轴。但到目前为止,我只设法获得两个轴。我试图在这里模仿解决方案:http://matplotlib.org/examples/api/two_scales.html但我一直都在失败。我还看过其他stackoverflow Q& S但到目前为止还没有发现它们。如果有人能帮助我解决这个问题会很棒。欢呼声。
答案 0 :(得分:3)
你真的应该包含你尝试过的代码,这样人们才能真正指出你正确的方向。尽管如此,我猜你错过了pandas
将打开一个新的图形和新的轴对象,除非你指定一个预先存在的轴来绘制。
import pandas as pd
import matplotlib.pyplot as plt
# separate data file
dat = pd.read_csv('dat.csv', index_col='Local Government Area')
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx()
# the ax keyword sets the axis that the data frame plots to
dat.plot(ax=ax1, y='Rate per 100 000 population', legend=False)
dat.plot(ax=ax2, y='Gambling EXP per Adult', legend=False, color='g')
ax1.set_ylabel('Rate per 100,000 population')
ax2.set_ylabel('Gambling EXP per Adult')
plt.show()
你需要更多的东西来获得一个好看的情节,但这应该让你开始。