줄거리 틱 수 감소
그래프에 틱이 너무 많아 서로 닿아 있습니다.
진드기 수를 어떻게 줄일 수 있습니까?
예를 들어 진드기가 있습니다.
1E-6, 1E-5, 1E-4, ... 1E6, 1E7
그리고 나는 단지 원한다.
1E-5, 1E-3, ... 1E5, 1E7
나는을 가지고 놀았 LogLocator
지만 이것을 알아낼 수 없었습니다.
또는 matplotlib이 틱을 배치하는 동안 틱 수를 간단히 설정하려면 (현재는으로 만 MaxNLocator
) pyplot.locator_params
,
pyplot.locator_params(nbins=4)
아래에서 언급 한 것처럼이 방법에서 특정 축을 지정할 수 있습니다. 기본값은 둘 다입니다.
# To specify the number of ticks on both or any single axes
pyplot.locator_params(axis='y', nbins=6)
pyplot.locator_params(axis='x', nbins=10)
누군가 여전히 검색 결과에서이 페이지를 얻는 경우 :
fig, ax = plt.subplots()
plt.plot(...)
every_nth = 4
for n, label in enumerate(ax.xaxis.get_ticklabels()):
if n % every_nth != 0:
label.set_visible(False)
set_ticks()
축 객체에 대한 기능이 있습니다.
진드기의 사용자 정의 및 모양 문제를 해결하려면 matplotlib 웹 사이트 의 Tick Locators 가이드를 참조하십시오.
ax.xaxis.set_major_locator(plt.MaxNLocator(3))
x 축의 틱 수를 3으로 설정하고 축에 균등하게 분배합니다.
이것에 대한 좋은 튜토리얼 도 있습니다
누군가가 여전히 그것을 필요로하고 여기에 실제로 아무것도 효과가 없었기 때문에 틱 수를 정확히 N으로 고정시키면서 생성 된 플롯의 모습을 "있는 그대로"유지하는 매우 간단한 방법을 생각해 냈습니다.
import numpy as np
import matplotlib.pyplot as plt
f, ax = plt.subplots()
ax.plot(range(100))
ymin, ymax = ax.get_ylim()
ax.set_yticks(np.round(np.linspace(ymin, ymax, N), 2))
로그 스케일을 사용하는 경우 다음 명령으로 주요 틱 수를 수정할 수 있습니다
import matplotlib.pyplot as plt
....
plt.locator_params(numticks=12)
plt.show()
numticks
표시 할 축 눈금 수 를 결정하도록 설정된 값입니다 .
locator_params()
함수 소개에 대해서는 @bgamari의 게시물에 기록 하지만 nticks
로그 스케일을 사용 하면 매개 변수에서 오류가 발생합니다.
@raphael이 준 솔루션은 간단하고 매우 유용합니다.
여전히 표시된 눈금 레이블은 원래 분포에서 샘플링 된 값이 아니라에서 반환 한 배열 의 인덱스 에서 샘플링 된 값 np.linspace(ymin, ymax, N)
입니다.
원래 눈금 레이블에서 균등 한 간격으로 N 값을 표시하려면이 set_yticklabels()
방법을 사용하십시오 . 다음은 정수 레이블이있는 y 축 스 니펫입니다.
import numpy as np
import matplotlib.pyplot as plt
ax = plt.gca()
ymin, ymax = ax.get_ylim()
custom_ticks = np.linspace(ymin, ymax, N, dtype=int)
ax.set_yticks(custom_ticks)
ax.set_yticklabels(custom_ticks)
참고 URL : https://stackoverflow.com/questions/6682784/reducing-number-of-plot-ticks
'Programming' 카테고리의 다른 글
작업의 활동 스택을 봅니다. (0) | 2020.06.28 |
---|---|
아름다운 수프와 ID로 div와 그 내용 추출 (0) | 2020.06.28 |
Xcode 9- "고정 너비 제한으로 인해 클리핑이 발생할 수 있음"및 기타 현지화 경고 (0) | 2020.06.28 |
java : 특정 시간 (초) 후에 함수 실행 (0) | 2020.06.28 |
RVM : gemset의 모든 gem 제거 (0) | 2020.06.28 |