matplotlib에서 f = 10^n 인 지수함수를 y=x 그래프로 plot


발생하는 문제 및 실행환경

함수 f(x) = 10x 는 지수함수라 그냥 그리면 곡선으로 보이는데 이걸 로그취한것 같이 직선으로 그리려고 합니다.

노력해봤는데 제가 짠건 여기까지가 한계에요..너무 어렵네요 ㅜㅜ

'scale=linear'같이 뭔가 더 짧고 간단한 방법이 없을까요?

소스코드

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.plot(a, color='blue', lw=2)
show()
  • 2016년 02월 12일에 작성됨

조회수 300


1 답변


좋아요
0
싫어요
채택취소하기

우선 pylab이랑 pyplot을 같이 쓰는 건 추천하지 않는다고 말씀드리고 싶네요. pylab을 쓸 바에야 pyplot을 쓰세요

그럼 본론으로 들어가서, 질문하신 경우는 y축을 정하고 싶으신 거죠.

그럼 matplotlib.pyplot.yscale(*args, **kwargs)을 쓰면 됩니다.

y축에 scale을 정하는데 쓰는 함수입니다.

간단하게 인자 scale

  1. 'linear'
  2. 'log'
  3. 'logit'
  4. 'symlog'

중에 골라서 쓸 수 있습니다.

소스코드

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

결과

1. log

alt text

2. linear

alt text


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close