アーティスト チュートリアル#

Artist オブジェクトを使用してキャンバスにレンダリングします。

Matplotlib API には 3 つの層があります。

  • これmatplotlib.backend_bases.FigureCanvasは、図が描かれる領域です

  • これmatplotlib.backend_bases.Rendererは、上に描画する方法を知っているオブジェクトですFigureCanvas

  • matplotlib.artist.Artistは、レンダラーを使用してキャンバスにペイントする方法を知っているオブジェクトです。

FigureCanvasと は、 wxPythonRendererなどのユーザー インターフェース ツールキットや PostScript® などの描画言語と対話する詳細をすべて処理し、 は、図、テキスト、および線の表現とレイアウトなど、すべての高レベルの構造を処理します。一般的なユーザーは、時間の 95% を で作業することに費やします。ArtistArtists

Artistsには、プリミティブとコンテナの 2 種類があります。プリミティブは、キャンバスにペイントする標準のグラフィカル オブジェクトを表します: Line2DRectangleTextAxesImageなど。コンテナーは、それらを配置する場所 ( AxisAxesおよびFigure) です。標準的な使用法は、Figureインスタンスを作成し、 を使用して 1つ Figure以上のインスタンスを作成し、インスタンス ヘルパー メソッドを使用してプリミティブを作成することです。以下の例では、 を使用してインスタンスを作成し ます。これは、インスタンスをインスタンス化し、それらをユーザー インターフェイスまたは描画ツールキットに接続するための便利な方法です。AxesSubplotAxesFigurematplotlib.pyplot.figure()FigureFigureCanvas. 以下で説明するように、これは必須ではありません。PostScript、PDF Gtk+、または wxPythonFigureCanvasインスタンスをFigures 直接操作して、直接インスタンス化し、それらを自分で接続できます。ただし、ここでは ArtistAPI に焦点を当てているため、pyplot一部を処理させます。私たちのためのそれらの詳細の:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1) # two rows, one column, first plot

これAxesは、おそらく Matplotlib API で最も重要なクラスであり、ほとんどの場合使用するクラスです。これは、Axesがほとんどのオブジェクトが入るプロット領域であり、 には 最も一般的なグラフィックス プリミティブ (それぞれ 、 、 、 ) を作成するための多く の 特別 な Axesヘルパー メソッド ( plot()、 、 ) があるためです。これらのヘルパー メソッドは、データ (配列や文字列など)を受け取り、必要に応じてプリミティブ インスタンス ( など) を作成し、それらを関連するコンテナーに追加し、要求に応じて描画します。あなたのほとんどはおそらく についてよく知っているでしょう。text()hist()imshow()Line2DTextRectangleAxesImagenumpyArtistLine2DSubplotAxesSubplotインスタンス。Axes任意の場所に を作成する場合は、0-1 の相対図形座標で値add_axes()のリストを取得するメソッドを使用するだけです。[left, bottom, width, height]

fig2 = plt.figure()
ax2 = fig2.add_axes([0.15, 0.1, 0.7, 0.3])

例を続けます。

import numpy as np
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2*np.pi*t)
line, = ax.plot(t, s, color='blue', lw=2)

この例でaxは、 は上記Axesの呼び出しによって作成されたインスタンス であり (は の単なるサブクラスである ことをfig.add_subplot思い出してください)、 を呼び出すと、インスタンスが作成され、に追加されます。以下のインタラクティブなIPython セッションでは、リストの長さが 1 で、呼び出しによって返されたのと同じ行が含まれていることがわかります。SubplotAxesax.plotLine2DAxesAxes.linesline, = ax.plot...

In [101]: ax.lines[0]
Out[101]: <matplotlib.lines.Line2D at 0x19a95710>

In [102]: line
Out[102]: <matplotlib.lines.Line2D at 0x19a95710>

その後 を呼び出すとax.plot(保留状態がデフォルトの "on" の場合)、追加の行がリストに追加されます。removeメソッドを呼び出すことで、後で行を削除できます。

line = ax.lines[0]
line.remove()

Axes には、x 軸と y 軸の目盛り、目盛りラベル、および軸ラベルを構成および装飾するためのヘルパー メソッドもあります。

xtext = ax.set_xlabel('my xdata')  # returns a Text instance
ytext = ax.set_ylabel('my ydata')

を呼び出すと、 の インスタンスax.set_xlabelに関する情報が渡されます。各 インスタンスにはと の インスタンスが含まれており、目盛り、目盛りラベル、軸ラベルのレイアウトと描画を処理します。TextXAxisAxesXAxisYAxis

下の図を作ってみてください。

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
fig.subplots_adjust(top=0.8)
ax1 = fig.add_subplot(211)
ax1.set_ylabel('volts')
ax1.set_title('a sine wave')

t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2*np.pi*t)
line, = ax1.plot(t, s, color='blue', lw=2)

# Fixing random state for reproducibility
np.random.seed(19680801)

ax2 = fig.add_axes([0.15, 0.1, 0.7, 0.3])
n, bins, patches = ax2.hist(np.random.randn(1000), 50,
                            facecolor='yellow', edgecolor='yellow')
ax2.set_xlabel('time (s)')

plt.show()
正弦波

オブジェクトのカスタマイズ#

図のすべての要素は Matplotlib によって表され、 Artistそれぞれにその外観を構成するためのプロパティの広範なリストがあります。Figure 自体には Figure の Rectangle正確なサイズが含まれており、これを使用して Figure の背景色と透明度を設定できます。同様に、各Axesバウンディング ボックス (典型的な Matplotlib プロットの黒いエッジを持つ標準的な白いボックスにRectangleは、Axes の色、透明度、およびその他のプロパティを決定するインスタンスがあります。これらのインスタンスはメンバー変数として格納されFigure.patchAxes.patch("Patch" はMATLAB から継承された名前であり、Figure 上の色の 2D "パッチ" です (例: 四角形、円、および多角形)。すべての MatplotlibArtistには次のプロパティがあります。

財産

説明

アルファ

透明度 - 0 ~ 1 のスカラー

アニメーション

アニメーション描画を容易にするために使用されるブール値

アーティストが住んでいる斧、おそらくなし

クリップボックス

アーティストをクリップするバウンディング ボックス

クリップオン

クリッピングが有効かどうか

クリップパス

アーティストがクリッピングされるパス

含む

アーティストにピックポイントが含まれているかどうかをテストするピッキング機能

アーティストが住んでいる図のインスタンス。おそらく None

ラベル

テキスト ラベル (例: 自動ラベル付け用)

ピッカー

オブジェクトのピッキングを制御する Python オブジェクト

変身

変換

見える

アーティストを描画するかどうかのブール値

ズーダー

描画順を決める番号

ラスタライズされた

ブール値; ベクトルをラスター グラフィックスに変換します (圧縮と EPS 透過性のため)。

各プロパティは、昔ながらのセッターまたはゲッターでアクセスされます (はい、これが Pythonista を苛立たせていることはわかっています。プロパティまたはトレイトを介した直接アクセスをサポートする予定ですが、まだ行われていません)。たとえば、現在のアルファを 2 倍にするには、次のようにします。

a = o.get_alpha()
o.set_alpha(0.5*a)

一度に多数のプロパティを設定する場合は、setキーワード引数を指定してメソッドを使用することもできます。例えば:

o.set(alpha=0.5, zorder=2)

ArtistPython シェルでインタラクティブに作業している場合、プロパティ を検査する便利な方法は、プロパティとその値を一覧表示するmatplotlib.artist.getp()関数を (単に pyplot で) 使用することです。これは、や などgetp()から派生したクラスでも機能します。上記の四角形のプロパティは次のとおりです。ArtistFigureRectangleFigure

In [149]: matplotlib.artist.getp(fig.patch)
  agg_filter = None
  alpha = None
  animated = False
  antialiased or aa = False
  bbox = Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0)
  capstyle = butt
  children = []
  clip_box = None
  clip_on = True
  clip_path = None
  contains = None
  data_transform = BboxTransformTo(     TransformedBbox(         Bbox...
  edgecolor or ec = (1.0, 1.0, 1.0, 1.0)
  extents = Bbox(x0=0.0, y0=0.0, x1=640.0, y1=480.0)
  facecolor or fc = (1.0, 1.0, 1.0, 1.0)
  figure = Figure(640x480)
  fill = True
  gid = None
  hatch = None
  height = 1
  in_layout = False
  joinstyle = miter
  label =
  linestyle or ls = solid
  linewidth or lw = 0.0
  patch_transform = CompositeGenericTransform(     BboxTransformTo(   ...
  path = Path(array([[0., 0.],        [1., 0.],        [1.,...
  path_effects = []
  picker = None
  rasterized = None
  sketch_params = None
  snap = None
  transform = CompositeGenericTransform(     CompositeGenericTra...
  transformed_clip_path_and_affine = (None, None)
  url = None
  verts = [[  0.   0.]  [640.   0.]  [640. 480.]  [  0. 480....
  visible = True
  width = 1
  window_extent = Bbox(x0=0.0, y0=0.0, x1=640.0, y1=480.0)
  x = 0
  xy = (0, 0)
  y = 0
  zorder = 1

すべてのクラスの docstring にもプロパティが含まれているため、特定のオブジェクトのプロパティのリストArtist については、インタラクティブな「ヘルプ」または matplotlib.artistを参照できます。

オブジェクトコンテナ#

構成したい特定のオブジェクトのプロパティを調べて設定する方法がわかったので、そのオブジェクトに到達する方法を知る必要があります。冒頭で述べたように、オブジェクトにはプリミティブとコンテナーの 2 種類があります。プリミティブは通常、構成したいもの (Text インスタンスのフォント、 の幅Line2D) ですが、コンテナにもいくつかのプロパティがあります。たとえば、 はプロット内の多くのプリミティブを含むコンテナですが、また、x 軸が「線形」か「対数」かを制御する のようなプロパティもあります。このセクションでは、さまざまなコンテナ オブジェクトが目的のオブジェクトを格納する場所を確認します。Axes ArtistxscaleArtists

フィギュアコンテナ番号

最上位のコンテナArtistmatplotlib.figure.Figureで、図のすべてが含まれています。Figure の背景 Rectangleは に格納されて Figure.patchいる です。サブプロット ( add_subplot()) と軸 ( add_axes()) を Figure に追加すると、これらは に追加されますFigure.axes。これらは、それらを作成するメソッドによっても返されます。

In [156]: fig = plt.figure()

In [157]: ax1 = fig.add_subplot(211)

In [158]: ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3])

In [159]: ax1
Out[159]: <AxesSubplot:>

In [160]: print(fig.axes)
[<AxesSubplot:>, <matplotlib.axes._axes.Axes object at 0x7f0768702be0>]

この図は、pylab/pyplot ステート マシンをサポートするために「現在の Axes」( Figure.gcaおよび を参照Figure.sca) の概念を維持しているため、Axes リストから直接 Axes を挿入または削除するのではなく、 add_subplot()および add_axes()メソッドを使用して挿入し、 Axes.removeメソッド削除します。Axesただし、カスタマイズしたいインスタンスにアクセスするために、Axes のリストを反復したり、それにインデックスを付けたりすることは自由です。すべての Axes グリッドをオンにする例を次に示します。

for ax in fig.axes:
    ax.grid(True)

Figure には独自のimageslinespatchesおよびtext 属性もあり、これらを使用してプリミティブを直接追加できます。その場合、 のデフォルトの座標系Figureは単純にピクセル単位になります (これは通常、希望するものではありません)。代わりに Figure レベルのメソッドを使用してアーティストを追加する場合 (たとえば、 を使用Figure.textしてテキストを追加する場合)、デフォルトの座標系は「Figure 座標」になります。ここで、(0, 0) は Figure の左下、(1, 1 ) は図の右上です。

すべてArtistの と同様に、 transform プロパティを設定することでこの座標系を制御できます。Artist変換をfig.transFigure次のように設定することで、「フィギュア座標」を明示的に使用できます。

import matplotlib.lines as lines

fig = plt.figure()

l1 = lines.Line2D([0, 1], [0, 1], transform=fig.transFigure, figure=fig)
l2 = lines.Line2D([0, 1], [1, 0], transform=fig.transFigure, figure=fig)
fig.lines.extend([l1, l2])

plt.show()
アーティスト

フィギュアに含まれるアーティストの概要は次のとおりです。

図形属性

説明

Axesインスタンスのリスト(サブプロットを含む)

パッチ

Rectangle背景_

画像

FigureImageパッチのリスト- 生のピクセル表示に役立ちます

伝説

FigureLegendインスタンスのリスト ( とは異なりますAxes.get_legend())

FigureLine2Dインスタンスのリスト (めったに使用されません。 を参照してくださいAxes.lines)

パッチ

FigurePatchのリスト (めったに使用されません。 を参照してくださいAxes.patches)

テキスト

FigureTextインスタンスのリスト

軸コンテナ#

matplotlib.axes.Axesは Matplotlib ユニバースの中心です。図で使用されるすべての大部分が含まれており、Artistsこれらを作成してそれ自体に追加するための多くのヘルパー メソッドと 、そこに含まArtistsれる にアクセスしてカスタマイズするためのヘルパー メソッドがありArtistsます。と同様に 、デカルト座標 用の と極座標用の がFigure含まれて い ます。このパッチは、プロット領域の形状、背景、および境界を決定します。Patch patchRectangleCircle

ax = fig.add_subplot()
rect = ax.patch  # a Rectangle instance
rect.set_facecolor('green')

canonical などのプロット メソッドを呼び出して plot値の配列またはリストを渡すと、メソッドはインスタンスを作成し、キーワード引数として渡されmatplotlib.lines.Line2Dたすべてのプロパティで行を更新し、その行をに追加して、それをユーザーに返します。 :Line2DAxes

In [213]: x, y = np.random.rand(2, 100)

In [214]: line, = ax.plot(x, y, '-', color='blue', linewidth=2)

plot複数の x、y ペアをプロットに渡すことができるため、行のリストを返します。長さ 1 のリストの最初の要素を line 変数にアンパックしています。次の行が Axes.linesリストに追加されました。

In [229]: print(ax.lines)
[<matplotlib.lines.Line2D at 0xd378b0c>]

同様に、 bar()長方形のリストを作成するなど、パッチを作成するメソッドは、パッチをAxes.patchesリストに追加します。

In [233]: n, bins, rectangles = ax.hist(np.random.randn(1000), 50)

In [234]: rectangles
Out[234]: <BarContainer object of 50 artists>

In [235]: print(len(ax.patches))
Out[235]: 50

Axes.linesまたはAxes.patches リストにオブジェクトを直接追加しないでくださいAxes。オブジェクトを作成および追加するときに がいくつかのことを行う必要があるためです。

  • ;のfigureandaxesプロパティを設定します。Artist

  • デフォルトのAxes変換を設定します (既に設定されていない場合)。

  • に含まれるデータを検査して、Artist自動スケーリングを制御するデータ構造を更新し、プロットされたデータを含むようにビュー制限を調整できるようにします。

それでも、自分でオブジェクトを作成し、 や など のAxesヘルパー メソッドを使用して に直接追加することができます。以下は、何が起こっているかを説明する注釈付きの対話型セッションです。add_lineadd_patch

In [262]: fig, ax = plt.subplots()

# create a rectangle instance
In [263]: rect = matplotlib.patches.Rectangle((1, 1), width=5, height=12)

# by default the axes instance is None
In [264]: print(rect.axes)
None

# and the transformation instance is set to the "identity transform"
In [265]: print(rect.get_data_transform())
IdentityTransform()

# now we add the Rectangle to the Axes
In [266]: ax.add_patch(rect)

# and notice that the ax.add_patch method has set the axes
# instance
In [267]: print(rect.axes)
Axes(0.125,0.1;0.775x0.8)

# and the transformation has been set too
In [268]: print(rect.get_data_transform())
CompositeGenericTransform(
    TransformWrapper(
        BlendedAffine2D(
            IdentityTransform(),
            IdentityTransform())),
    CompositeGenericTransform(
        BboxTransformFrom(
            TransformedBbox(
                Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0),
                TransformWrapper(
                    BlendedAffine2D(
                        IdentityTransform(),
                        IdentityTransform())))),
        BboxTransformTo(
            TransformedBbox(
                Bbox(x0=0.125, y0=0.10999999999999999, x1=0.9, y1=0.88),
                BboxTransformTo(
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.4, y1=4.8),
                        Affine2D(
                            [[100.   0.   0.]
                             [  0. 100.   0.]
                             [  0.   0.   1.]])))))))

# the default axes transformation is ax.transData
In [269]: print(ax.transData)
CompositeGenericTransform(
    TransformWrapper(
        BlendedAffine2D(
            IdentityTransform(),
            IdentityTransform())),
    CompositeGenericTransform(
        BboxTransformFrom(
            TransformedBbox(
                Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0),
                TransformWrapper(
                    BlendedAffine2D(
                        IdentityTransform(),
                        IdentityTransform())))),
        BboxTransformTo(
            TransformedBbox(
                Bbox(x0=0.125, y0=0.10999999999999999, x1=0.9, y1=0.88),
                BboxTransformTo(
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.4, y1=4.8),
                        Affine2D(
                            [[100.   0.   0.]
                             [  0. 100.   0.]
                             [  0.   0.   1.]])))))))

# notice that the xlimits of the Axes have not been changed
In [270]: print(ax.get_xlim())
(0.0, 1.0)

# but the data limits have been updated to encompass the rectangle
In [271]: print(ax.dataLim.bounds)
(1.0, 1.0, 5.0, 12.0)

# we can manually invoke the auto-scaling machinery
In [272]: ax.autoscale_view()

# and now the xlim are updated to encompass the rectangle, plus margins
In [273]: print(ax.get_xlim())
(0.75, 6.25)

# we have to manually force a figure draw
In [274]: fig.canvas.draw()

プリミティブを作成し、それぞれのコンテナーに追加するAxesためのヘルパー メソッド は非常に多くあります。Artists以下の表は、それらの小さなサンプル、それらがArtist作成する種類、およびそれらを保存する場所をまとめたものです。

軸ヘルパー メソッド

アーティスト

容器

annotate- テキスト注釈

Annotation

ax.テキスト

bar- 棒グラフ

Rectangle

ax.パッチ

errorbar- エラーバー プロット

Line2DRectangle

ax.lines と ax.patches

fill- 共有エリア

Polygon

ax.パッチ

hist- ヒストグラム

Rectangle

ax.パッチ

imshow- 画像データ

AxesImage

ax.images

legend- 軸の凡例

Legend

ax.get_legend()

plot- xy プロット

Line2D

斧線

scatter- 散布図

PolyCollection

ax.コレクション

text- 文章

Text

ax.テキスト

これらすべての に加えてArtists、 には とAxesという 2 つの重要なArtistコンテナが含まれてXAxis おりYAxis、目盛りとラベルの描画を処理します。これらは、インスタンス変数 xaxisおよび として保存されますyaxis。および コンテナーについては以下で詳しく説明しますが、 には、呼び出しをインスタンスに転送する多くのヘルパー メソッドが含まれているため、必要でない限り直接操作する必要がないことが多いことに注意しXAxisてください 。たとえば、ヘルパー メソッドを使用して目盛りラベルのフォントの色を設定できます。YAxisAxesAxisXAxisAxes

ax.tick_params(axis='x', labelcolor='orange')

Axes以下は、含まれているアーティストの概要です。

軸アトリビュート

説明

アーティスト

インスタンスArtistListの_Artist

パッチ

Rectangle軸の背景のインスタンス

コレクション

インスタンスArtistListの_Collection

画像

ArtistList_AxesImage

インスタンスArtistListの_Line2D

パッチ

インスタンスArtistListの_Patch

テキスト

インスタンスArtistListの_Text

matplotlib.axis.XAxisインスタンス_

y軸

matplotlib.axis.YAxisインスタンス_

凡例にはget_legend

軸コンテナ#

matplotlib.axis.Axisインスタンスは、目盛り線、グリッド線、目盛りラベル、および軸ラベルの描画を処理します。y 軸には左右の目盛りを個別に、x 軸には上下の目盛りを個別に設定できます。はAxis 、自動スケーリング、パン、およびズームで使用されるデータとビュー間隔、および目盛りの配置場所と文字列としての表現方法を制御するLocatorおよび インスタンスも格納します。Formatter

Axisオブジェクトには、labelアトリビュート (および pyplotの呼び出しで変更されるもの) と、大目盛りと小目盛りのリストが含まれています。目盛りは インスタンスであり、目盛りと目盛りラベルをレンダリングする実際の線とテキストのプリミティブが含まれています。目盛りは必要に応じて動的に作成されるため (たとえば、パンやズームの場合)、アクセサ メソッド およびを介して大目盛りと小目盛りのリストにアクセスする必要があります。ティックにはすべてのプリミティブが含まれており、以下で説明しますが、 インスタンスにはティック ライン、ティック ラベル、ティック位置などを返すアクセサ メソッドがあります。xlabelylabelaxis.XTickaxis.YTickaxis.Axis.get_major_ticksaxis.Axis.get_minor_ticksAxis

アーティスト
array([0. , 0.2, 0.4, 0.6, 0.8, 1. ])
[Text(0.0, 0, '0.0'), Text(0.2, 0, '0.2'), Text(0.4, 0, '0.4'), Text(0.6000000000000001, 0, '0.6'), Text(0.8, 0, '0.8'), Text(1.0, 0, '1.0')]

デフォルトでは、上部と下部に目盛り線がありますが、x 軸の下の目盛りラベルのみがあるため、ラベルの 2 倍の目盛り線があることに注意してください。ただし、これはカスタマイズできます。

<a list of 12 Line2D ticklines objects>

上記のメソッドでは、デフォルトでメジャー ティックのリストのみが返されますが、マイナー ティックを要求することもできます。

axis.get_ticklabels(minor=True)
axis.get_ticklines(minor=True)
<a list of 0 Line2D ticklines objects>

の便利なアクセサ メソッドの概要を次に示しますAxis (これらには、 などの便利な対応するセッターがあり set_major_formatter()ます)。

軸アクセサ メソッド

説明

get_scale

軸のスケール。例: 'log' または 'linear'

get_view_interval

軸ビュー制限の間隔インスタンス

get_data_interval

軸データ制限の間隔インスタンス

get_gridlines

軸のグリッド線のリスト

get_label

軸ラベル -Textインスタンス

get_offset_text

軸オフセット テキスト -Textインスタンス

get_ticklabels

インスタンスのリストText- キーワード minor=True|False

get_ticklines

インスタンスのリストLine2D- キーワード minor=True|False

get_ticklocs

ティック位置のリスト - キーワード minor=True|False

get_major_locator

メジャー ティックのticker.Locatorインスタンス

get_major_formatter

メジャー ティックのticker.Formatterインスタンス

get_minor_locator

小刻みのticker.Locatorインスタンス

get_minor_formatter

小刻みのticker.Formatterインスタンス

get_major_ticks

Tick主なティックのインスタンスのリスト

get_minor_ticks

Tick小刻みのインスタンスのリスト

grid

主目盛りまたは副目盛りのグリッドをオンまたはオフにする

これは、Axes および Tick プロパティをカスタマイズする、その美しさから推奨されない例です。

# plt.figure creates a matplotlib.figure.Figure instance
fig = plt.figure()
rect = fig.patch  # a rectangle instance
rect.set_facecolor('lightgoldenrodyellow')

ax1 = fig.add_axes([0.1, 0.3, 0.4, 0.4])
rect = ax1.patch
rect.set_facecolor('lightslategray')


for label in ax1.xaxis.get_ticklabels():
    # label is a Text instance
    label.set_color('red')
    label.set_rotation(45)
    label.set_fontsize(16)

for line in ax1.yaxis.get_ticklines():
    # line is a Line2D instance
    line.set_color('green')
    line.set_markersize(25)
    line.set_markeredgewidth(3)

plt.show()
アーティスト

ティックコンテナ#

は、からへの 降下matplotlib.axis.Tickにおける最後のコンテナ オブジェクトです。には、目盛りとグリッド ラインのインスタンス、および上目盛りと下目盛りのラベル インスタンスが含まれます。これらのそれぞれは、 の属性として直接アクセスできます。FigureAxesAxisTickTickTick

ティック属性

説明

tick1line

Line2Dインスタンス_

tick2line

Line2Dインスタンス_

グリッド線

Line2Dインスタンス_

ラベル1

Textインスタンス_

ラベル2

Textインスタンス_

これは、ドル記号で右側の目盛りのフォーマッターを設定し、y 軸の右側で緑色に色付けする例です。

import numpy as np
import matplotlib.pyplot as plt

# Fixing random state for reproducibility
np.random.seed(19680801)

fig, ax = plt.subplots()
ax.plot(100*np.random.rand(20))

# Use automatic StrMethodFormatter
ax.yaxis.set_major_formatter('${x:1.2f}')

ax.yaxis.set_tick_params(which='major', labelcolor='green',
                         labelleft=False, labelright=True)

plt.show()
ドルティック

スクリプトの合計実行時間: ( 0 分 1.067 秒)

Sphinx-Gallery によって生成されたギャラリー