Python |
Python で図形を描くやり方は種々あります(人によって異なり混乱します)が、ここでのやり方はあくまで私のやり方です。
上のサンプルで示したように、PyScript を用いれば Python も PyScript もインストールおよび環境構築が不要です。
以下のコードをそのままコピー&ペーストし(もちろん他に自分で好きに付け加えることができる)、HTMLファイル (****.html) を作り
それをブラウザで開くだけ図形が描けます。後は、描画位置、大きさ、色などを自由に変えて使用できます。
// ■点を描く-------------------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>PyScript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- matplotlib
</py-env>
</head>
<body>
<py-script>
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(9.0,6.4),dpi=100) # ウィンドウのサイズ(*100 したものがピクセル値)
ax=fig.add_subplot() # 1個のグラフを統括するクラス.グラフ枠,目盛,軸タイトルなどの描画
plt.xlim(0,900) # x軸の範囲
plt.ylim(0,640) # y軸の範囲
ax.set_position([0,0,1,1]) # ([枠の左辺,下辺,横幅,高さ]) ウィンドウ全体をグラフ枠内にし,枠,目盛などを描画しない
x=20
y=570
plt.scatter(x,y)
plt.show() # ウィンドウを表示
fig
<py-script>
</body>
</html>
// ■直線を引く-------------------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>PyScript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- matplotlib
</py-env>
</head>
<body>
<py-script>
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(9.0,6.4),dpi=100) # ウィンドウのサイズ(*100 したものがピクセル値)
ax=fig.add_subplot() # 1個のグラフを統括するクラス.グラフ枠,目盛,軸タイトルなどの描画
plt.xlim(0,900) # x軸の範囲
plt.ylim(0,640) # y軸の範囲
ax.set_position([0,0,1,1]) # ([枠の左辺,下辺,横幅,高さ]) ウィンドウ全体をグラフ枠内にし,枠,目盛などを描画しない
plt.plot([40,160],[300,570],color="green")
plt.plot([60,200],[300,500],color="red")
plt.xlabel("X")
plt.ylabel("Y")
plt.show() # ウィンドウを表示
fig
<py-script>
</body>
</html>
// ■長方形を描く-----------------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>PyScript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- matplotlib
</py-env>
</head>
<body>
<py-script>
import matplotlib
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(9.0,6.4),dpi=100) # ウィンドウのサイズ(*100 したものがピクセル値)
ax=fig.add_subplot() # 1個のグラフを統括するクラス.グラフ枠,目盛,軸タイトルなどの描画
plt.xlim(0,900) # x軸の範囲
plt.ylim(0,640) # y軸の範囲
ax.set_position([0,0,1,1]) # ([枠の左辺,下辺,横幅,高さ]) ウィンドウ全体をグラフ枠内にし,枠,目盛などを描画しない
rect=plt.Rectangle((80,120),200,400,fc="#0000ff",fill=False) # 左下角=(80,120),幅=200,高さ=400 の四角形
ax.add_patch(rect)
rect=plt.Rectangle((320,120),100,300,fc="#ff00ff",fill=True) # 左下角=(320,120),幅=100,高さ=300 の四角形
ax.add_patch(rect)
plt.show() # ウィンドウを表示
fig
<py-script>
</body>
</html>
// ■円を描く---------------------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>PyScript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- matplotlib
</py-env>
</head>
<body>
<py-script>
import matplotlib
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(9.0,6.4),dpi=100) # ウィンドウのサイズ(*100 したものがピクセル値)
ax=fig.add_subplot() # 1個のグラフを統括するクラス.グラフ枠,目盛,軸タイトルなどの描画
plt.xlim(0,900) # x軸の範囲
plt.ylim(0,640) # y軸の範囲
ax.set_position([0,0,1,1]) # ([枠の左辺,下辺,横幅,高さ]) ウィンドウ全体をグラフ枠内にし,枠,目盛などを描画しない
circle = plt.Circle((180,220),150,fc="#ff0000",fill=False) # 中心の座標=(180,220),半径=150 の円
ax.add_patch(circle)
circle = plt.Circle((450,220),80,fc="#ffff00",fill=True) # 中心の座標=(450,220),半径=80 の円
ax.add_patch(circle)
plt.show() # ウィンドウを表示
fig
<py-script>
</body>
</html>
// ■多角形を描く-------------------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>PyScript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- numpy
- matplotlib
</py-env>
</head>
<body>
<py-script>
import matplotlib
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(9.0,6.4),dpi=100) # ウィンドウのサイズ(*100 したものがピクセル値)
ax=fig.add_subplot() # 1個のグラフを統括するクラス.グラフ枠,目盛,軸タイトルなどの描画
plt.xlim(0,900) # x軸の範囲
plt.ylim(0,640) # y軸の範囲
ax.set_position([0,0,1,1]) # ([枠の左辺,下辺,横幅,高さ]) ウィンドウ全体をグラフ枠内にし,枠,目盛などを描画しない
points=[[150,120],[250,180],[300,420],[90,390],[150,120]]
patch=patches.Polygon(xy=points,closed=True)
ax.add_patch(patch)
plt.show() # ウィンドウを表示
fig
<py-script>
</body>
</html>
|
2022. 6. 5 |