2016-06-20 3 views
4

공통 인덱스를 가진 두 개의 서로 다른 데이터 세트가 있는데, 첫 번째는 바 그래프로 표시하고 두 번째는 같은 그래프에서 라인 플롯으로 표시하려고합니다. 나의 현재 접근법은 다음과 유사하다.서로 다른 Y 축을 가진 동일한 해골 그림에 바 플롯과 직선을 멋지게 만들려면 어떻게해야합니까?

ax = pt.a.plot(alpha = .75, kind = 'bar') 
ax2 = ax.twinx() 
ax2.plot(ax.get_xticks(), pt.b.values, alpha = .75, color = 'r') 

그리고 그 결과가이

A barplot and lineplot of the same data

이 이미지와 유사하다 정말 좋은 및 거의 좋아. 내 유일한 문제는 ax.twinx()이 이전 캔버스 위에 새로운 캔버스를 만드는 것처럼 보이고 흰 선이 바 plot 상단에 명확하게 표시된다는 것입니다.

흰 선을 포함하지 않고 이것을 플로팅 할 수있는 방법이 있습니까?

+0

동일 후 질문 : http://stackoverflow.com/questions/26752464/matplotlib-two-y-axis-scales-how-to-align-gridlines/29099515#29099515 – benten

답변

0

두 번째 축의 그리드 선을 제거해야합니다. 코드 ax2.grid(False)에 추가하십시오. 그러나, 제 2 축 중 Y-틱 여기 같이, 제 Y 축, Y 진드기에 정렬되지 않을 것이다

import matplotlib.pyplot as plt 
import seaborn as sns 
import numpy as np 
import pandas as pd 

fig = plt.figure() 
ax1 = fig.add_subplot(111) 
ax1.plot(pd.Series(np.random.uniform(0,1,size=10)), color='g') 
ax2 = ax1.twinx() 
ax2.plot(pd.Series(np.random.uniform(0,17,size=10)), color='r') 
ax2.grid(False) 
plt.show() 

enter image description here

좌측/우측 축 2 선 그래프 용