반응형
질문
matplotlib를 사용하여 로그축 하나를 가진 그래프를 그리고 싶습니다.
문서를 읽어보았지만 구문을 이해하지 못했습니다. 아마도 플롯 인수에 'scale=linear'
와 같은 간단한 것일 것 같지만 제대로 작동하지 않습니다.
샘플 프로그램:
import pylab
import matplotlib.pyplot as plt
a = [pow(10, i) for i in range(10)]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)
line, = ax.plot(a, color='blue', lw=2)
pylab.show()
답변
다음은 Axes.set_yscale
메서드를 사용할 수 있습니다. 이를 통해 Axes
객체가 생성된 후에도 스케일을 변경할 수 있습니다. 이를 통해 필요한 경우 사용자가 스케일을 선택할 수 있는 컨트롤을 구축할 수도 있습니다.
추가해야 할 관련 코드는 다음과 같습니다:
ax.set_yscale('log')
'linear'
를 사용하여 선형 스케일로 전환할 수도 있습니다. 다음은 코드의 예시입니다:
import pylab
import matplotlib.pyplot as plt
a = [pow(10, i) for i in range(10)]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)
line, = ax.plot(a, color='blue', lw=2)
ax.set_yscale('log')
pylab.show()
반응형
댓글