matplotlib로 그리기 시작하기 : 간단한 함수 작성
5966 단어 파이썬초보자matplotlib
matplotlibで超基本的な図が描ける
gnuplot 로 그림을 만들 수 있게 되고 잠시 후, "더 쉽게 깨끗한 그림을 그리고 싶다"고 생각하게 된다고 생각합니다(※개인차가 있습니다).
연구 발표의 그림을 만드는데 무료로 사용할 수 있는 도구로 유명한 것 중 하나가 matlotlib입니다. 꽤 예쁜 그림을 그릴 수 있습니다 (※ 개인의 의견).
이 기사에서는 즉시 사용할 수있는 matplotlib에서 그림을 그리는 법의 기초 중의 기초만을 정리했습니다.
보다 상세한 사용법에 대해서는,
파이썬 matplotlib 사용법을 요약했습니다.
매우 쉽고 도움이됩니다.
특히, 객체 지향 인터페이스는 편리하기 때문에 사용할 수있게되면 좋다.
여기서 matplotlib을 사용하여 간단한 함수를 그려 보겠습니다.
$y = f(x)$ 를 그릴 때 컴퓨터에서 무엇이 이루어지고 있는가 하면
(알기 쉬움을 위해 용어의 정확성은 무시하면),
$x$ 쌍 (배열)의 요소 $x_i$ 각각에 대해,
$ y $ 쌍 (배열)의 요소 $ y_i $가 계산되어 그 쌍이 플롯됩니다.
gnuplot도 마찬가지입니다.
(그러므로, 특히 대수 플롯에 있어서, 변화가 가파른 부분에서는 플롯점을 세세하게 취해주지 않으면 올바른 그림이 되지 않는 경우가 있습니다)
파이썬에서는 다음과 같이 $ x $ 쌍을 만들 수 있습니다.
이것은 등 차수 열의 배열을 만들고 있다고 생각하십시오.
x = numpy.arange(-10, 10, 0.01)
인수는x = numpy.arange(xの最小値,xの最大値,公差)
입니다.이 등차수 열(같은 것)을 사용해 $y = f(x)$ 를 paint 할 수가 있습니다.
이제 시험에 포물선을 그려 보겠습니다.
sample.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# これはコード中に全角文字(日本語)を書く時に必要
#以下はおまじないみたいなもの
#numpy に np という名前をつける
import numpy as np
#同様に,matplotlib.pyplot に plt という名前をつける
import matplotlib.pyplot as plt
#x = np.arange(xの最小値,xの最大値,刻み)
x = np.arange(-10, 10, 0.1)
#描画する関数
y = x*x
#横軸にx,縦軸にyをとって描く
plt.plot(x, y)
#plot表示
plt.show()
그럼, 다음에 자주 사용하는 옵션을 붙여 여러가지 그려 봅시다.
sample2.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.1)
y = x*x
#描画範囲を指定する場合(x軸でも同様)
plt.ylim([0, 50])
#タイトルと軸ラベル
plt.title("TITLE")
plt.xlabel("Xlabel")
plt.ylabel("Ylabel")
#grid表示のon/off (デフォルトはFalse)
plt.grid(True)
#ラベルや線色,太さなどのオプション
plt.plot(x,y, label="legend", color="red", lw=3, ls="--")
#凡例を表示
plt.legend()
#plot表示
plt.show()
그림을 저장하려면 마지막으로
plt.savefig("sample_figure.eps")
등이라고 쓰면 OK입니다.여기에서 소개한 것은 일례로, 다른 옵션(선색이라든지 선종이라든지 범례의 위치라든지 그 외 여러가지)은 구그하고 필요한 것/즐겨찾는 것을 찾아 보세요.
Reference
이 문제에 관하여(matplotlib로 그리기 시작하기 : 간단한 함수 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kumamupooh/items/3d2f0a2bbc1f5374fba8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)