隅歩つ

書いて理解を深める

Pythonのmatplotlibで円を書く

matplotlibで円を書く

Pythonを勉強していると、matplotlibは頻繁に出てきて、基本の一部であることがわかってきました。

matplotlibもわかるようになりたい!ということで少しずつ勉強中です。

matplotlibで円を書く

matplotlibは前に少しだけ勉強したのですが、定期的にしていないとすぐに忘れてしまいますね。

私は普段、BlenderPythonを勉強しているので、matplotlibでも図形を作ってみたいと思います。

cos、sinを使って円を作ってみました。

まず、matplotlibとmathをインポートします。

import matplotlib.pyplot as plt
import math

次にx、yを出します。

x = []
for i in range(360):
    i = math.cos(math.radians(i))
    x.append(i)

y = []
for i in range(360):
    i = math.sin(math.radians(i))
    y.append(i)

これを表にしたものがこちらです↓

matplotlibで円を書く

コード全体

import matplotlib.pyplot as plt
import math

x = []
for i in range(360):
    i = math.cos(math.radians(i))
    x.append(i)

y = []
for i in range(360):
    i = math.sin(math.radians(i))
    y.append(i)

plt.plot(x, y)
plt.grid(color='0.8')
plt.show()

表の縦横比を同じにする方法

表の縦横比が同じではないので、今は円が楕円になっています。

これを同じ比率にする方法は「plt.axis('equal')」を入れます。

plt.plot(x,y)
plt.axis('equal')
plt.grid(color='0.8')
plt.show()

matplotlibで円を書く

番外編

いろいろ試していたら変な感じで良い感じのものができました。

randomを使って円の線をぐちゃぐちゃにしました。

matplotlibで円を書く

コードはこちら↓

import matplotlib.pyplot as plt
import math
import random

x = []
for i in range(360):
    i = math.cos(math.radians(i))
    x.append(i+random.random())

y = []
for i in range(360):
    i = math.sin(math.radians(i))
    y.append(i+random.random())

plt.plot(x,y)
plt.axis('equal')
plt.grid(color="0.8")
plt.show()

matplotlibは図を描くだけではなくアート的に使うのも面白そうです。

yuuuha.hatenablog.com

yuuuha.hatenablog.com