2017-02-21 4 views
0

У меня есть DataFrame, как показано ниже:панда/Matplotlib участок с множественными у осей

        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 

я сделал несколько попыток построения с два у-оси, соответствующей правых две колонок с самым левым столбцом является ось х. Но пока мне удалось получить только одну ось для обоих. Я попытался имитировать решение здесь: http://matplotlib.org/examples/api/two_scales.html, но я продолжаю терпеть неудачу. Я также посмотрел на другой stackoverflow Q & S, но пока не нашел их очень ясными. Было бы здорово, если бы кто-то помог мне решить эту проблему. Приветствия.

ответ

1

Вы действительно должны включить код, который вы использовали, чтобы вы могли направить вас в правильном направлении. Тем не менее, я предполагаю, что вы пропустили то, что 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() 

Вам нужно будет futz с ним больше, чтобы получить красивый участок, но это должно заставить вас начать.

Смежные вопросы