본문 바로가기
Python/Python FAQ

Python 로그 축 그래프, Plot logarithmic axes

by 베타코드 2023. 9. 18.
반응형

질문


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()

result chart

반응형

댓글