파이썬에서 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()
우선, 혼합 pylab
하고 pyplot
코딩 하는 것은 그리 깔끔하지 않습니다 . 또한 pylab을 사용하는 것보다 pyplot 스타일이 선호 됩니다.
다음은 pyplot
함수 만 사용하여 약간 정리 된 코드입니다 .
from matplotlib import pyplot
a = [ pow(10,i) for i in range(10) ]
pyplot.subplot(2,1,1)
pyplot.plot(a, color='blue', lw=2)
pyplot.yscale('log')
pyplot.show()
관련 기능은 pyplot.yscale()
입니다. 객체 지향 버전을 사용하는 경우 메소드로 대체하십시오 Axes.set_yscale()
. pyplot.xscale()
(또는 Axes.set_xscale()
)를 사용하여 X 축의 배율을 변경할 수도 있습니다 .
내 질문 확인 'log'와 'symlog'의 차이점은 무엇입니까? matplotlib이 제공하는 그래프 스케일의 몇 가지 예를 살펴보십시오.
from pylab import *
import matplotlib.pyplot as pyplot
a = [ pow(10,i) for i in range(10) ]
fig = pyplot.figure()
ax = fig.add_subplot(2,1,1)
line, = ax.semilogy(a, color='blue', lw=2)
show()
대수의 기초를 변경하려면 다음을 추가하십시오.
plt.yscale('log',basey=2)
# where basex or basey are the bases of log
나는 이것이 일부 주제가 아니었다는 것을 알고있다. 일부 의견은 이것이 ax.set_yscale('log')
"가장 적은"해결책이라고 언급 했기 때문에 반박이 나올 수 있다고 생각했다. ax.set_yscale('log')
히스토그램 및 막대 플롯에는 사용하지 않는 것이 좋습니다 . 내 버전 (0.99.1.1)에서 렌더링 문제가 발생합니다.이 문제가 얼마나 일반적인지 잘 모르겠습니다. 그러나 bar와 hist에는 y-scale을 log로 설정하기위한 선택적 인수가 있습니다.
참조 : http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.hist
그래서 당신이 내가 종종 (ipython에서 많이 사용하는 것처럼) 정교하지 않은 API를 사용한다면, 이것은 단순히
yscale('log')
plot(...)
이것이 간단한 답변을 찾는 데 도움이되기를 바랍니다. :).
참고 URL : https://stackoverflow.com/questions/773814/plot-logarithmic-axes-with-matplotlib-in-python
'Programing' 카테고리의 다른 글
안드로이드 에뮬레이터는 키보드 입력을받지 않습니다-SDK tools rev 20 (0) | 2020.03.08 |
---|---|
mapDispatchToProps 란 무엇입니까? (0) | 2020.03.08 |
SQL Server Management Studio (2005 이상)에서 다른 Windows 사용자 연결 (0) | 2020.03.08 |
Objective-C 블록을 특성으로 사용할 수 있습니까? (0) | 2020.03.08 |
파이썬에서 명령 행 인수에 어떻게 접근합니까? (0) | 2020.03.08 |