복붙노트

[PYTHON] matplotlib에서 축 값을 변환 (또는 축척)하고 틱 주파수를 재정의하려면 어떻게합니까?

PYTHON

matplotlib에서 축 값을 변환 (또는 축척)하고 틱 주파수를 재정의하려면 어떻게합니까?

jpg 이미지를 표시하고 있습니다 (90도 회전). 축은 픽셀 좌표를 표시합니다. 픽셀 수를 표시하는 대신 축을 변환하여 라디안,도 또는 내 경우 천문학적 좌표로 선택 단위를 표시합니다. 나는 픽셀에서 (예) 학위로의 변환을 안다. 다음은 현재 코드가 어떻게 보이는지 보여주는 코드입니다.

import matplotlib.pyplot as plt 
import Image
import matplotlib
thumb = Image.open(self.image)
thumb = thumb.rotate(90)
dpi = plt.rcParams['figure.dpi']
figsize = thumb.size[0]/dpi, thumb.size[1]/dpi
fig = plt.figure(figsize=figsize)
plt.imshow(thumb, origin='lower',aspect='equal')
plt.show()

...이 다음부터 matplotlib이 축에 인쇄 할 각 값을 가져 와서 대신 출력 할 문자열로 바꾸거나 바꿀 수 있습니까? 특정 좌표 형식 (예 : 10.44도)이 아닌 10 26 '24' '(즉, 각도, arcmins, arcsecs)를 읽으려는 경우

마지막으로이 주제에 대해, 음모에 대한 틱 주파수에 대한 제어를 원합니다. Matplotlib은 축 값을 50 픽셀 씩 인쇄 할 수 있지만, 매번 (예를 들어) 정도마다 축 값을 원합니다.

픽셀 값과 변환 된 값 (도수 등)이 표시되도록 배열을 정의하고 싶습니다. 범위는 xmin / xmax 범위의 샘플링 빈도를 제어 할 수 있습니다.

Stack Overflow에 matplotlib 전문가가 있습니까? 그렇다면 사전에 도움을 주셔서 감사합니다. 이것을 더 많은 학습 경험으로 만들기 위해, matplotlib 문제에 대한 튜토리얼 등의 방향으로 몹시 몹시 기뻐했습니다. 나는 나 자신이 축, 축, 인물, 예술가 등과 매우 혼동되고 있다는 것을 알았다!

건배,

데이브

해결법

  1. ==============================

    1.matplotlib.pyplot 인터페이스를 다루는 것처럼 보입니다. 즉, 아티스트, 축 등을 다루는 대부분의 작업을 건너 뛸 수 있습니다. 다음과 같이 matplotlib.pyplot.xticks 명령을 사용하여 눈금의 값과 레이블을 제어 할 수 있습니다.

    matplotlib.pyplot 인터페이스를 다루는 것처럼 보입니다. 즉, 아티스트, 축 등을 다루는 대부분의 작업을 건너 뛸 수 있습니다. 다음과 같이 matplotlib.pyplot.xticks 명령을 사용하여 눈금의 값과 레이블을 제어 할 수 있습니다.

    tick_locs = [list of locations where you want your tick marks placed]
    tick_lbls = [list of corresponding labels for each of the tick marks]
    plt.xticks(tick_locs, tick_lbls)
    

    예를 들어, 딤 마크가 원래 플롯의 단위 (즉, 픽셀)를 기준으로 한 값 (즉, imshow를 사용하고 있기 때문에)을 계산해야합니다. 그러나이 방법은 알고 있습니다.

    이미지를 많이 다루지는 않았지만 x와 y 정보를 제공 할 수있는 다른 플롯팅 방법 (예 : pcolor)을 사용할 수 있습니다. 이미지 단위를 지정할 수있는 몇 가지 옵션이 있습니다.

    튜토리얼을 보려면 matplotlib 갤러리를 살펴보고 좋아하는 것을 찾아서 제작 한 코드를 읽는 것이 좋습니다. 우리 사무실의 한 사람은 최근 Python 시각화에 관한 책을 구입했습니다.

    내가 일반적으로 생각하는 방식은 다음과 같다.

  2. from https://stackoverflow.com/questions/1143848/how-do-i-convert-or-scale-axis-values-and-redefine-the-tick-frequency-in-matpl by cc-by-sa and MIT license