iPad Pythonista3에서 matplotlib 사용
18266 단어 Pythonista3matplotlibiPad
0. 소개
모처럼 iPad mini 4를 가지고 있고, 게다가 Pythonista 3를 넣고 있기 때문에, 더 iPad mini를 사용하자, 라고 생각들, Macbook pro에 넣고 있는 matplotlib의 작도 프로그램의 병아리를 iPad Pythonista 3에 넣어 그 과정 이를 통해 효율성을 높이는 것을 목표로 작업을 시작했습니다.
우선은 작례를. 이것은 iPad mini 4의 스크린 샷입니다.
subplot을 사용하여 세 개의 그래프를 가로로 정렬했습니다.
2. 하는 일에 대한 설명
(1) 검정색 배경
Pythonista3의 편집기를 검은 색 배경으로 사용하기 때문에,
plt.style.use('dark_background')
따라서 검정색 배경에 흰색 문자 출력을 사용했습니다.
(2) 종횡비를 1:1로 한다
다음은 Mac에서는 동작하지만 Pythonista3의 matplotlib에서는 생각대로 동작하지 않는 것에 주의.
# アスペクト比1:1とするための失敗事例
#plt.gca().set_aspect('equal','datalim')
이것을 사용합니다.
# アスペクト比1:1とするための成功事例
plt.gca().set_aspect('equal',adjustable='box')
(3) subplot(131), title: Normal
주축에 수치를 기입해, 그리드를 표시하고 있습니다.
(4) subplot(132), title: Grid
주축에 수치를 기입해, minor_locator로 지정한 보조축에도 그리드를 표시하고 있습니다.
아래와 같이 주축에서 locator를 지정하려고 하면 「Yaxis는 정의되어 있지 않아」라는 에러가 나오지 않습니다.
# 失敗事例
#plt.gca().xaxis.set_major_locator(tick.MultipleLocator(0.2))
#plt.gca().yaxis.set_major_locater(tick.MultipleLocator(5.0))
아래와 같이 주축은 xticks, yticks로 지정하고 보조 축은 minor_locator로 지정하고 gdid에서는 which=’bith’를 지정합니다.
# 成功事例
plt.xticks(np.arange(xmin,xmax+dx,dx))
plt.yticks(np.arange(ymin,ymax+dy,dy))
plt.gca().xaxis.set_minor_locator(tick.MultipleLocator(1.0))
plt.gca().yaxis.set_minor_locator(tick.MultipleLocator(1.0))
plt.grid(which='both',color='#999999',linestyle='solid')
(5) subplot(133), title: No-grid
아래의 코드에 의해, 오른쪽 세로축, 위 세로축을 비표시로 해, 좌 세로축과 하횡축을 표시하고 있습니다.
plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().yaxis.set_ticks_position('left')
plt.gca().xaxis.set_ticks_position('bottom')
3. 프로그램 전문
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as tick
fsz=10
xmin=0
xmax=15
dx=5
ymin=60
ymax=85
dy=5
fig=plt.figure(figsize=(6,3))
plt.rcParams['font.size']=fsz
plt.rcParams['font.family']='sans-serif'
plt.style.use('dark_background')
tstr='Normal'
plt.subplot(131)
plt.xlim([xmin,xmax])
plt.ylim([ymin,ymax])
plt.xlabel('x_axis')
plt.ylabel('y_axis')
plt.xticks(np.arange(xmin,xmax+dx,dx))
plt.yticks(np.arange(ymin,ymax+dy,dy))
plt.grid(color='#999999',linestyle='solid')
plt.gca().set_aspect('equal',adjustable='box')
plt.title(tstr,loc='left',fontsize=fsz)
tstr='Grid'
plt.subplot(132)
plt.xlim([xmin,xmax])
plt.ylim([ymin,ymax])
plt.xlabel('x_axis')
plt.ylabel('y_axis')
plt.xticks(np.arange(xmin,xmax+dx,dx))
plt.yticks(np.arange(ymin,ymax+dy,dy))
plt.gca().xaxis.set_minor_locator(tick.MultipleLocator(1.0))
plt.gca().yaxis.set_minor_locator(tick.MultipleLocator(1.0))
plt.grid(which='both',color='#999999',linestyle='solid')
#plt.gca().set_aspect('equal','datalim')
plt.gca().set_aspect('equal',adjustable='box')
plt.title(tstr,loc='left',fontsize=fsz)
tstr='No-grid'
plt.subplot(133)
plt.xlim([xmin,xmax])
plt.ylim([ymin,ymax])
plt.xlabel('x_axis')
plt.ylabel('y_axis')
plt.xticks(np.arange(xmin,xmax+dx,dx))
plt.yticks(np.arange(ymin,ymax+dy,dy))
plt.gca().spines['right'].set_visible(False)
plt.gca().spines['top'].set_visible(False)
plt.gca().yaxis.set_ticks_position('left')
plt.gca().xaxis.set_ticks_position('bottom')
plt.gca().set_aspect('equal',adjustable='box')
plt.title(tstr,loc='center',fontsize=fsz)
plt.tight_layout()
plt.show()
plt.close()
그 이상
Reference
이 문제에 관하여(iPad Pythonista3에서 matplotlib 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/damyarou/items/e830545fc183cc9e3b35텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)