반응형
로그 눈금으로 눈금 설정
set_xticks
로그 스케일에서 작동하지 않는 것 같습니다 .
from matplotlib import pyplot as plt
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 200, 500])
plt.show()
가능합니까?
import matplotlib
from matplotlib import pyplot as plt
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 200, 500])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
또는
ax1.get_xaxis().get_major_formatter().labelOnlyBase = False
plt.show()
몇 가지 플롯을 추가하고 사소한 눈금을 제거하는 방법을 보여 드리겠습니다.
OP:
from matplotlib import pyplot as plt
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 300, 500])
plt.show()
tcaswell이 지적한 것처럼 특정 틱을 추가하려면 다음을 사용할 수 있습니다 matplotlib.ticker.ScalarFormatter
.
from matplotlib import pyplot as plt
import matplotlib.ticker
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 300, 500])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
plt.show()
사소한 진드기를 제거하려면 다음을 사용할 수 있습니다 matplotlib.rcParams['xtick.minor.size']
.
from matplotlib import pyplot as plt
import matplotlib.ticker
matplotlib.rcParams['xtick.minor.size'] = 0
matplotlib.rcParams['xtick.minor.width'] = 0
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 300, 500])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
plt.show()
대신 사용할 수 있습니다 ax1.get_xaxis().set_tick_params
. 동일한 효과가 있습니다(그러나 현재 축만 수정하고 와 달리 모든 미래의 수치는 수정하지 않음 matplotlib.rcParams
).
from matplotlib import pyplot as plt
import matplotlib.ticker
fig1, ax1 = plt.subplots()
ax1.plot([10, 100, 1000], [1,2,3])
ax1.set_xscale('log')
ax1.set_xticks([20, 300, 500])
ax1.get_xaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())
ax1.get_xaxis().set_tick_params(which='minor', size=0)
ax1.get_xaxis().set_tick_params(which='minor', width=0)
plt.show()
set_xticks
작동합니다. 자세히 보면 20, 200, 500에 주요 눈금을 넣습니다( 눈금이 다른 눈금보다 깁니다). 를 호출하지 않고 동일한 플롯과 비교합니다 set_xticks
.
요점은 set_xticks
ticklabels가 아니라 ticks 를 설정한다는 것입니다. 라벨을 추가하려면
ax1.set_xticklabels(["20", "200", "500"])
plt.show() 전에
ReferenceURL : https://stackoverflow.com/questions/14530113/set-ticks-with-logarithmic-scale
반응형
'IT이야기' 카테고리의 다른 글
python pip에 대한 설치 순서를 지정하는 방법 (0) | 2021.10.26 |
---|---|
Python 하위 프로세스의 표준 입력 (0) | 2021.10.26 |
Sequelize.sync(), 특히 강제 옵션 작동 원리 (0) | 2021.10.25 |
이들go get과 go install의 차이점 (0) | 2021.10.25 |
반응 수명 주기 방법 이해 (0) | 2021.10.25 |