프로그래밍 언어/Python

Python에서 matplotlib를 사용하여 로그 축 플로팅

Rateye 2021. 10. 19. 11:21
728x90
반응형
질문 : Python에서 matplotlib를 사용하여 로그 축 플로팅

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

결과 차트

출처 : https://stackoverflow.com/questions/773814/plot-logarithmic-axes-with-matplotlib-in-python
728x90
반응형