플롯의 오른쪽에 Python Matplotlib Y 축 눈금


112

간단한 선 플롯이 있고 플롯의 (기본값) 왼쪽에서 오른쪽으로 y 축 눈금을 이동해야합니다. 이 작업을 수행하는 방법에 대한 의견이 있으십니까?

답변:


192

사용하다 ax.yaxis.tick_right()

예를 들면 :

from matplotlib import pyplot as plt

f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
plt.plot([2,3,4,5])
plt.show()

여기에 이미지 설명 입력


멋진 대답, 당신이 하나를 얻을, 나는 당신에게 사진에 대한 또 다른 일을주고 싶지만 난 단지 1로 제한하고있어
lukecampbell

이것이
sharey

그리고 왼쪽과 오른쪽 모두에 눈금과 레이블을 원하면 어떻게해야합니까?
AstroFloyd

1
나는 이유를 분류하지 않았지만, 서브 플롯이 sharey=True.
Steven C. Howell

왼쪽 오른쪽 에 눈금을 표시하는 명령은 무엇입니까 ? 감사!
tommy.carstensen

99

올바른 라벨을 사용하려면 다음을 사용 ax.yaxis.set_label_position("right")하세요.

f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
ax.yaxis.set_label_position("right")
plt.plot([2,3,4,5])
ax.set_xlabel("$x$ /mm")
ax.set_ylabel("$y$ /mm")
plt.show()

57

joaquin의 대답은 작동하지만 축의 왼쪽에서 눈금을 제거하는 부작용이 있습니다. 이 문제를 해결하려면 tick_right()으로 전화를 set_ticks_position('both')겁니다. 수정 된 예 :

from matplotlib import pyplot as plt

f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
ax.yaxis.set_ticks_position('both')
plt.plot([2,3,4,5])
plt.show()

결과는 양쪽에 눈금이있는 플롯이지만 오른쪽에는 눈금 레이블이 있습니다.

여기에 이미지 설명 입력


24

누군가 (내가 한 것처럼) 묻는 경우입니다. 이것은 subplot2grid를 사용할 때도 가능합니다. 예를 들면 :

import matplotlib.pyplot as plt
plt.subplot2grid((3,2), (0,1), rowspan=3)
plt.plot([2,3,4,5])
plt.tick_params(axis='y', which='both', labelleft='off', labelright='on')
plt.show()

다음과 같이 표시됩니다.

여기에 이미지 설명 입력


4
이것도 함께 작동 ax.tick_params(axis='y', which='both', labelleft='off', labelright='on')합니다. 하지만 그것은 이동하지 않습니다ylabel
에릭

1
글쎄, 당신은 항상 plt.gca()현재 axes 객체를 얻는 데 사용할 수 있습니다 . 따라서 다음을 사용합니다.plt.gca().yaxis.set_label_position("right")
sannaj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.