- 2019.12.01
[Matplotlib] 凡例の表示
凡例の表示・位置指定・消去 matplotlib.axes.Axes.legend() は Axes (サブプロット) に 凡例 を添えます。 凡例とは、Axes.plot() などの描画メソッドで label に渡したテキストのことです。デフォルト設定ではグラフと重ならないように位置を自動調整して表示されます。 # MATPLOTLIB_LEGEND_01 # In[1] import ma […]
Python 数値計算入門 Jupyter NoteBook を活用した Python3 プログラミング学習サイト
凡例の表示・位置指定・消去 matplotlib.axes.Axes.legend() は Axes (サブプロット) に 凡例 を添えます。 凡例とは、Axes.plot() などの描画メソッドで label に渡したテキストのことです。デフォルト設定ではグラフと重ならないように位置を自動調整して表示されます。 # MATPLOTLIB_LEGEND_01 # In[1] import ma […]
平面の方程式 この記事では三次元空間内の 平面 を表示するコードを掲載しています。 平面と法線ベクトル 固定点 $A(x_0,y_0,z_0)$ と平面に垂直なベクトル $\vec{n}=(p,q,r)$ が与えられたとします。 このようなベクトルを平面の 法線ベクトル とよびます。 平面上の点を $P(x,y,z)$ で表すと、ベクトル $\vec{AP}$ は法線ベクトルに垂直です。 […]
アニメーションの作成 数値シミュレーションなどを行なう際に、解析結果をアニメーションとして表現すると現象を把握しやすくなることもあります。matplotlib.animationパッケージ には、データを動的に可視化するための ArtistAnimation() と FuncAnimation() が用意されています。 matplotlib.animation.ArtistAnimation() […]
指定範囲を塗り潰す関数 matplotlib.axes.Axes.axvspan() Axes.axvspan(xmin, xmax) を使うと、x = xmin から x = xmax までの範囲を塗り潰すことができます。 # MATPLOTLIB_FILL_01 # In[1] import numpy as np import matplotlib.pyplot as plt # Figu […]
注釈と矢印 グラフのある特定の位置を明示するために、Axes.annotate() を使って 注釈 (annotation) と 矢印 (arrow) を表示することができます。まずは簡単な例を示します。 # MATPLOTLIB_ANNOTATE_01 import numpy as np import matplotlib.pyplot as plt # FigureとAxesを描画 fig […]
タイトルとテキストに日本語を表示する方法 Matplotlib を初期設定のまま使用していると、Axes.title() や Axes.text() の引数に日本語の文字列を渡しても、文字化けを起こしてしまいます。 # PYTHON_MATPLOTLIB_TEXT_JAPANESE_01 # Figureを作成して、Axesを追加 fig = plt.figure(figsize = (5, 5 […]
直線グラフの作成 直線 Matplotlib で 直線グラフ を作成する方法は何通りかあります。 たとえば、numpy.arange() で作成した x のデータを直線の式に当てはめます。 # MATPLOTLIB_STRAIGHT_LINE_01 import numpy as np import matplotlib.pyplot as plt # 6×4サイズのFigureを作成 fig […]
曲面の描画 Axes3D.plot_surface() で 3 次元座標に 曲面 を描くことができます。 Axes3D.plot_surface(X, Y, Z, *args, **kwargs) X, Y, Z には 2 次元配列データを渡します。 サンプルコードでは $Z=\cos(\sqrt{X^2+Y^2})$ で表される曲面(同心円状に広がる波)を描いてみます。 # PYTHON_ […]
等高線の描画 x と y のデータを numpy.meshgrid() に渡すと、xy平面上の格子点 (X, Y) を作成してくれます。1つ1つの格子点 X, Y について高度 Z を与えると、(X, Y, Z) の 3 次元データが完成するので、これをもとに等高線を描くことができます。 matplotlib.axes.Axes.contour() (X, Y, Z) を matplotlib […]
画像の作成・読み込み・保存 画像と配列 Scikit-image というパッケージには、色々な画像データが収められています。その中から chelsea (チェルシー) という可愛い「にゃんこ」の画像を読み込んでみましょう。 # PYTHON_NUMPY_IMAGE_01-1 import numpy as np import matplotlib.pyplot as plt # Scikit-i […]