code

로그 축 표시

starcafe 2023. 4. 13. 21:00
반응형

로그 축 표시

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오브젝트가 생성됩니다.또한 필요에 따라 사용자가 척도를 선택할 수 있도록 제어할 수도 있습니다.

추가할 관련 행은 다음과 같습니다.

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

관련 기능은 입니다.오브젝트 지향 버전을 사용하는 경우 메서드로 대체합니다.X축의 축척은 (또는 )을 사용하여 변경할 수도 있습니다.

질문 확인 'log'와 'symlog'의 차이점은 무엇입니까?matplotlib에서 제공하는 그래프 척도의 몇 가지 예를 참조하십시오.

로그의 밑수를 변경하려면 다음을 추가하십시오.

plt.yscale('log',base=2) 

Matplotlib 3.3 이전 버전에서는 basex/basey를 로그 기준으로 사용해야 합니다.

플롯 대신 세미로지를 사용하면 됩니다.

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

이게 약간 주제에서 벗어난 거 알아요. 댓글에 따라서는ax.set_yscale('log')"최소한의" 해결책으로 저는 반박해야 한다고 생각했습니다.를 사용하는 것은 추천하지 않습니다.ax.set_yscale('log')히스토그램 및 막대 그림에 사용할 수 있습니다.버전(0.99.1.1)에서는 렌더링 문제가 발생했습니다.이 문제가 얼마나 일반적인지 알 수 없습니다.그러나 막대 및 히스토에는 y 척도를 로그로 설정하기 위한 선택적 인수가 있으며, 이 인수는 정상적으로 작동합니다.

참고 자료: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar

http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.hist

제가 자주 사용하는 것처럼 단순한 API를 사용하는 경우(Ipython에서 자주 사용하는 경우), 이것은 단순합니다.

yscale('log')
plot(...)

이것이 간단한 답을 찾는 데 도움이 되기를 바랍니다! :)

언급URL : https://stackoverflow.com/questions/773814/plot-logarithmic-axes

반응형