축 값을 숨기고 matplotlib에서 축 눈금 레이블은 유지


101

이 이미지가 있습니다.

plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()

여기에 이미지 설명 입력

숫자를 숨기고 싶습니다. 내가 사용하는 경우 :

plt.axis('off')

...이 이미지를 얻습니다.

여기에 이미지 설명 입력

또한 레이블 Vt. 값을 숨기면서 레이블을 유지하려면 어떻게해야합니까?

답변:


136

matplotlib 객체 지향 접근 방식 을 사용하는 경우 ax.set_xticklabels()ax.set_yticklabels()다음을 사용하는 간단한 작업입니다 .

import matplotlib.pyplot as plt

# Create Figure and Axes instances
fig,ax = plt.subplots(1)

# Make your plot, set your axes labels
ax.plot(sim_1['t'],sim_1['V'],'k')
ax.set_ylabel('V')
ax.set_xlabel('t')

# Turn off tick labels
ax.set_yticklabels([])
ax.set_xticklabels([])

plt.show()

11
눈금 라벨을 제거하기 위해 좋은 작품,하지만 당신은 여전히 눈금을 얻을 ...
앤드류 슈라이버

85

가 없으면 다음 subplots과 같이 일반적으로 눈금을 제거 할 수 있습니다.

plt.xticks([])
plt.yticks([])

44

이것은 훌륭하게 작동합니다. 전에 붙여 넣기 만하면됩니다 plt.show().

plt.gca().axes.get_yaxis().set_visible(False)

팔.


2
감사합니다. 잘 작동합니다. 다른 경우에는 틱이 유지됩니다 (틱 방향이 기본적으로 out이기 때문에)
user140259

ax.set_xticklabels ([])와 같은 답변과 달리 이것은 다음 경우에 완벽하게 작동합니다. 하나는 sharex 옵션이있는 서브 플롯을 사용하고 서브 플롯 중 하나에 대해서만 틱을 삭제하려고합니다.
Михаил Лисаков

큰! 그리고 plt.gca (). axes.get_xaxis (). set_visible (False)는 x 축 레이블과 눈금도 제거합니다.
fbparis

1
이미 도끼 객체가있는 경우 또는,ax.xaxis.set_visible(False)
스핀 업

1
@filip 나는 그것이 도움이되어 기쁩니다 :)
MRT

3

이것이 최선의 방법인지 확실하지 않지만 다음과 같이 눈금 레이블을 확실히 바꿀 수 있습니다.

import matplotlib.pyplot as plt
x = range(10)
y = range(10)
plt.plot(x,y)
plt.xticks(x," ")
plt.show()

Python 3.4에서는 x 축에 눈금 레이블이없는 단순한 선 플롯을 생성합니다. 간단한 예는 다음과 같습니다. http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

이 관련 질문에는 또한 몇 가지 더 나은 제안이 있습니다. matplotlib 플롯에서 축 텍스트 숨기기

저는 파이썬을 처음 사용합니다. 마일리지는 이전 버전에서 다를 수 있습니다. 다른 사람들이 도울 수 있습니까?


2

눈금을 완전히 제거하려면 다음을 사용하십시오.

ax.set_yticks([])
ax.set_xticks([])

그렇지 않으면 ax.set_yticklabels([])ax.set_xticklabels([])표시 점을 유지합니다.


를 시도 ax.set_yticks([], [])하면 다음과 같은 경고가 표시됩니다. "MatplotlibDeprecationWarning : 위치 적으로 set_xticks ()의 부 매개 변수를 전달하는 것은 Matplotlib 3.2 이후로 더 이상 사용되지 않습니다. 매개 변수는 나중에 키워드 전용 두 부 릴리스가됩니다." 올바른 대안은 무엇입니까?
Rylan Schaeffer

@RylanSchaeffer, 귀하의 예 ax.set_yticks([], [])에서는 오류를 일으키는 2 개의 빈 목록을 전달하고 있습니다. 왜 그럴까요? 명령 매뉴얼을 참조하십시오. 첫 번째 인수가 위치 적으로 전달되지 않아야하는 경우 키워드로 전달하십시오 : ax.set_yticks(ticks=[]).
Ruslan S.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.