グラフと図形

1/3ページ
  • 2019.12.01

【Matplotlib】凡例の表示

凡例の表示・位置指定・消去  matplotlib.axes.Axes.legend() は Axes (サブプロット) に 凡例 を添えます。  凡例とは、Axes.plot() などの描画メソッドで label に渡したテキストのことです。デフォルト設定ではグラフと重ならないように位置を自動調整して表示されます。 # MATPLOTLIB_AXES_LEGEND # In[1] import matplotlib.pyplot as plt import numpy as np # FigureとAxes fig = plt.figure(figsize =(4, 4)) ax = fig […]

  • 2019.11.08

[Matplotlib] 平面と法線ベクトル

平面の方程式  この記事では三次元空間内の 平面 を表示するコードを掲載しています。 平面と法線ベクトル  固定点 $A(x_0,y_0,z_0)$ と平面に垂直なベクトル $\vec{n}=(p,q,r)$ が与えられたとします。  このようなベクトルを平面の 法線ベクトル とよびます。  平面上の点を $P(x,y,z)$ で表すと、ベクトル $\vec{AP}$ は法線ベクトルに垂直です。      つまり $\vec{AP}$ と $\vec{n}$ の内積は $0$ です:   \[\vec{n}\cdot\vec{AP}=0\tag{1}\]  具体的に成分で書き表すと   \[\ […]

  • 2019.03.22

[Matplotlib] アニメーションの作成

アニメーションの作成  数値シミュレーションなどを行なう際に、解析結果をアニメーションとして表現すると現象を把握しやすくなることもあります。matplotlib.animationパッケージ には、データを動的に可視化するための ArtistAnimation() と FuncAnimation() が用意されています。 matplotlib.animation.ArtistAnimation()  ArtistAnimation()関数でアニメーションを作成する場合は、予めすべてのプロットデータを渡すことになります。例として右方向に進む正弦波のアニメーションを表示させてみましょう。Jupyt […]

  • 2019.02.20

[Matplotlib] 指定範囲を塗り潰す方法

指定範囲を塗り潰す関数  Axes には特定の範囲を塗りつぶす axvspan()、axhspan()、fill_between() メソッドが備わっています。 matplotlib.axes.Axes.axvspan()  Axes.axvspan(xmin, xmax) を使うと、x=xmin から x=xmax までの範囲を塗り潰すことができます。 # MATPLOTLIB_FILL_AXVSPAN # In[1] import numpy as np import matplotlib.pyplot as plt # FigureとAxesを作成 fig = plt.figure(fi […]

  • 2019.02.11

[Matplotlib] 注釈と矢印

注釈と矢印  グラフのある特定の位置を明示するために、Axes.annotate() を使って 注釈 (annotation) と 矢印 (arrow) を表示することができます。まずは簡単な例を示します。 # MATPLOTLIB_ANNOTATE_01 import numpy as np import matplotlib.pyplot as plt # FigureとAxesを描画 fig, ax = plt.subplots(figsize = (5, 5)) ax.grid() ax.set_xlim(0, 10) ax.set_ylim(0, 10) # 指定した位置に注釈(an […]

  • 2019.01.30

[Matplotlib] 日本語を表示する方法

タイトルとテキストに日本語を表示する方法  Matplotlib を初期設定のまま使用していると、Axes.title() や Axes.text() の引数に日本語の文字列を渡しても、文字化けを起こしてしまいます。 # PYTHON_MATPLOTLIB_TEXT_JAPANESE_01 # Figureを作成して、Axesを追加 fig = plt.figure(figsize = (5, 5)) ax = fig.add_subplot(111) # Axesのタイトルの設定 ax.set_title("文字化けします", size = 12) # Axesにテキストを追加 ax.tex […]

  • 2019.01.12

[Matplotlib] 直線と折れ線グラフの作成

直線グラフの作成 直線  Matplotlib で 直線グラフ を作成する方法は何通りかあります。  たとえば、numpy.arange() で作成した x のデータを直線の式に当てはめます。 # MATPLOTLIB_STRAIGHT_LINE_01 import numpy as np import matplotlib.pyplot as plt # 6×4サイズのFigureを作成 fig = plt.figure(figsize = (6, 4)) # FigureにAxesを1つ追加 ax = fig.add_subplot(111) # 目盛線を表示 ax.grid() # x軸 […]

  • 2018.12.08

[Matplotlib] 曲面の描画

曲面の描画  Axes3D.plot_surface() で 3 次元座標に 曲面 を描くことができます。 Axes3D.plot_surface(X, Y, Z, *args, **kwargs)  X, Y, Z には 2 次元配列データを渡します。  サンプルコードでは $Z=\cos(\sqrt{X^2+Y^2})$ で表される曲面(同心円状に広がる波)を描いてみます。 # PYTHON_MATPLOTLIB_SURFACE import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d impo […]

  • 2018.12.07

[Matplotlib] 等高線の描画

等高線の描画  x と y のデータを numpy.meshgrid() に渡すと、xy平面上の格子点 (X, Y) を作成してくれます。1つ1つの格子点 X, Y について高度 Z を与えると、(X, Y, Z) の 3 次元データが完成するので、これをもとに等高線を描くことができます。 matplotlib.axes.Axes.contour()  (X, Y, Z) を matplotlib.axes.Axes.contour()に渡すと等高線を描くことができます。  $Z = X^2+Y^2$ の等高線を描いてみましょう。 # PYTHON_MATPLOTLIB_CONTOUR_01 […]

  • 2018.12.06

【Matplotlib】画像の読み込みと保存

画像の作成・読み込み・保存 画像と配列  Scikit-image というパッケージには、色々な画像データが収められています。その中から chelsea (チェルシー) という可愛い「にゃんこ」の画像を読み込んでみましょう。 # PYTHON_NUMPY_IMAGE # In[1] import numpy as np import matplotlib.pyplot as plt # Scikit-imageから猫の画像データを取得 from skimage.data import chelsea # 画像表示用のFigureとAxesを作成 fig = plt.figure() ax = […]

1 3