본문 바로가기
파이썬

파이썬 matlibplot에서 x 축과 y 축의 범위를 변경하는 방법은 무엇입니까?

by º기록 2020. 11. 26.
반응형

저는 matlibplot을 처음 사용하고 반경 1의 원을 그리려고하지만 x와 y 축이 모두 0.25 씩 증가하면서 0에서 3으로 이동합니다. 지금은 그래프와 원을 그렸지만 x 및 y 축은 0에서 1로만 이동하므로 원의 위, 아래, 왼쪽 또는 오른쪽에 약간의 공간이 남아 있습니다. 지금까지 코드는 다음과 같습니다.

    import numpy as np
    import matplotlib.pyplot as plt
    import scipy, pylab

    plt.axes()
    circle=plt.Circle((0, 0), radius=1, fc='w')
    plt.gca().add_patch(circle)
    plt.yticks(np.arange(0, 3, 0.25))
    plt.xticks(np.arange(0, 3, 0.25))
    plt.axis('scaled')
    plt.show()

다음 질문을 살펴 보았지만 내가 수행하려는 작업에 비해 너무 고급이거나 주제에서 약간 벗어난 것으로 나타났습니다.

    http://stackoverflow.com/questions/27170139/how-to-change-the-range-of-my-x-axis-in-matplotlib

    http://stackoverflow.com/questions/22642511/change-y-range-to-start-from-0-with-matplotlib

   http://stackoverflow.com/questions/27456185/scaling-axis-for-a-scatter-plot-in-matlibplot-in-python

   http://stackoverflow.com/questions/22642511/change-y-range-to-start-from-0-with-matplotlib

지금하고 싶은 것은 그래프의 같은 위치에 내 원을 유지하면서 x 및 y 축의 범위를 0-1에서 0-3으로 늘리고 각 축에서 0.25 씩 증가하도록 유지하는 것입니다. 두 축 중 하나에 닿는 원의 상단, 하단 또는 양쪽에 대해 걱정할 필요없이 원의 가장자리 주변의 모든 점을 플롯합니다. matlibplot 문서를 살펴 보았지만 축의 간격을 변경하는 방법에 대한 간단한 단계별 설명을 찾을 수없는 것 같습니다. 이것에 대한 통찰력은 훌륭 할 것입니다! 미리 감사드립니다!

 

해결 방법

 

축 범위를 변경하려면 다음을 사용할 수 있습니다.

plt.xlim([-3, 3])
plt.ylim([-3, 3])

이 작업을 수행하려면 plt.axis ( 'scaled') 줄을 제거해야합니다.

import numpy as np
import matplotlib.pyplot as plt
import scipy, pylab

plt.axes()
circle=plt.Circle((0, 0), radius=1, fc='w')
plt.gca().add_patch(circle)
plt.xlim([-3, 3])
plt.ylim([-3, 3])
plt.yticks(np.arange(-3, 3, 0.25))
plt.xticks(np.arange(-3, 3, 0.25))
plt.show()

 

참조 페이지 https://stackoverflow.com/questions/29337123

 

 

반응형

댓글