Matplotlib
フォント
グラフを見せたときに、読み解き方が自由にできすぎて逆に困る
例えば1つのグラフ内にできるだけ情報を詰め込むのか、1つだけ(?)いれるのか
後者のほうが読み方が限定されるので意味がわかりやすい
読む能力がある人にとっては前者の方がいい
そもそもグラフは事実の描画であって、作成者の意図を込めない方がいい、とかあったりするのかな
そんなわけないか
目的によりそう
なんかの成果を発表するなら、その成果が一番わかり易いように可視化すべきだろう
これはUIを考えるときと同じ
一方で、事実を並べて、それを材料にして分析をするなら、中立に意図を含めずに可視化したほうがいい、とかありそう
フォント
code:py
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# # システムにインストールされているフォントの一覧を表示
# for font in fm.findSystemFonts():
# print(fm.FontProperties(fname=font).get_name())
# 日本語フォントを設定
gpt-4.icon
matplotlibとは、Pythonで使用されるデータ可視化のためのライブラリ。簡単に高品質なグラフやチャートを作成でき、データの視覚化に広く使用される。 高いカスタマイズ性: 軸のラベルやタイトル、色、スタイル、レイアウトなどを細かく設定可能
基本的な関数
matplotlibのサブモジュールで、簡単にプロットを作成できる
使用例:
code:python
import matplotlib.pyplot as plt
plt.show()
この例では、x軸とy軸の値を指定して折れ線グラフを描画し、表示する グラフの全体的なキャンバスを定義するための関数
使用例:
code:python
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
この例では、1行1列のグリッドに1つのサブプロットを追加する 使用例:
code:python
plt.subplot(2, 1, 1)
plt.subplot(2, 1, 2)
plt.show()
この例では、2つのサブプロットを縦に配置し、それぞれに別のグラフを描画 タイトルを追加
x軸、y軸にラベルを付ける
凡例を追加
code:python
plt.legend()
グラフを表示
グラフをファイルとして保存するための関数
gpt-4.icon
極座標系でデータを表示するグラフで、角度と半径を用いてデータを表現する code:python
theta = np.linspace(0, 2*np.pi, 100)
r = np.abs(np.sin(theta))
plt.polar(theta, r)
plt.title("Polar Plot Example")
plt.show()
https://gyazo.com/807a628f9b6cb964647e4e2782fde461
3次元データを2次元に投影し、同じ高さの点を線で結んだグラフで、地形図などで使われる code:python
x = np.linspace(-5, 5, 50)
y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
plt.contour(X, Y, Z)
plt.title("Contour Plot Example")
plt.show()
https://gyazo.com/afcbaf8123f961beab108ee64de03761
3Dプロット
3次元データを視覚化するグラフで、データの複雑な関係をより立体的に表現する
code:python
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X, Y, Z)
plt.title("3D Plot Example")
plt.show()
https://gyazo.com/2a6eefa465fdb9f80c667a0bbebafa53