나는 마침내 그들 사이의 차이점을 이해하기 위해 몇 가지 실험을 할 시간을 찾았습니다. 내가 발견 한 내용은 다음과 같습니다.
log
양수 값만 허용하고 음수 값 ( mask
또는 clip
) 을 처리하는 방법을 선택할 수 있습니다 .
symlog
대칭 로그를 의미하며 양수 및 음수 값을 허용합니다.
symlog
플롯 내에서 0 주변의 범위를 설정할 수 있습니다.
그래픽과 예제를 통해 모든 것이 훨씬 더 이해하기 쉬워 질 것이라고 생각하므로 시도해 봅시다.
import numpy
from matplotlib import pyplot
# Enable interactive mode
pyplot.ion()
# Draw the grid lines
pyplot.grid(True)
# Numbers from -50 to 50, with 0.1 as step
xdomain = numpy.arange(-50,50, 0.1)
# Plots a simple linear function 'f(x) = x'
pyplot.plot(xdomain, xdomain)
# Plots 'sin(x)'
pyplot.plot(xdomain, numpy.sin(xdomain))
# 'linear' is the default mode, so this next line is redundant:
pyplot.xscale('linear')
# How to treat negative values?
# 'mask' will treat negative values as invalid
# 'mask' is the default, so the next two lines are equivalent
pyplot.xscale('log')
pyplot.xscale('log', nonposx='mask')
# 'clip' will map all negative values a very small positive one
pyplot.xscale('log', nonposx='clip')
# 'symlog' scaling, however, handles negative values nicely
pyplot.xscale('symlog')
# And you can even set a linear range around zero
pyplot.xscale('symlog', linthreshx=20)
완전성을 위해 다음 코드를 사용하여 각 그림을 저장했습니다.
# Default dpi is 80
pyplot.savefig('matplotlib_xscale_linear.png', dpi=50, bbox_inches='tight')
다음을 사용하여 Figure 크기를 변경할 수 있습니다.
fig = pyplot.gcf()
fig.set_size_inches([4., 3.])
# Default size: [8., 6.]
(내 질문에 대한 답이 확실하지 않다면 이것을 읽으십시오 )