matplotlib.lines.Line2Dについて
Lineは全頂点を結んだ線のスタイルとそれぞれの頂点の情報を持つ.
Line2Dのプロパティを記載してみた.
プロパティ
公式ドキュメント (ver. 3.5.1)には以下のように記載.(2022年3月現在)
matplotlib.lines.Line2D(xdata, ydata, <以下に記載>, **kwargs)
xdata: 1D array.
Line2D.set_xdata(x)
ydata: 1D array.
Line2D.set_ydata(y)
agg_filter: (m, n, 3) のfloat配列とdpi値を引数にとって(m, n, 3)配列を返却するfilter function.
matplotlib.artist.Artist.set_agg_filter(filter_func)
alpha: scalar or None.
透明度.0以上1以下のスカラ.
全バックエンドでサポートされてるわけではない
matplotlib.artist.Artist.set_alpha(alpha)
animated: bool.
アニメーションで使用されているか.
Trueの場合,通常の図には描画されない.描画するには,,.
matplotlib.artist.Artist.set_animated(b)
antialiased or aa: bool.
アンチエイリアスレンダリングをするか.(?)
Line2D.set_antialiased(b)
Line2D.get_antialiased()
Line2D.set_aa(b)
※ hoge_aaはhoge_antialiasedのエイリアス
Line2D.get_aa()
clip_box: Bbox.
Aritistのクリップボックスを設定.(?)
matplotlib.artist.Artist.set_clip_box(clipbox)
clip_on: bool.
Aritstがclipを使うかどうか.
Falseの場合,Artistが軸の外側に描画されて良くないかも.
matplotlib.artist.Artist.set_clip_on(b)
color or c: color.
線の色の設定.
Line2D.set_color(color)
Line2D.get_color()
Line2D.set_c(color)
※ hoge_cはhoge_colorのエイリアス
Line2D.get_c()
dash_capstyle: CapStyle or {‘butt’, ‘projecting’, ‘round’}.
is_dashedがTrueの場合に,端っこどうするか.
Line2D.set_dash_capstyle(s)
Line2D.get_dash_capstyle(s)
dash_joinstyle: JoinStyle or {‘miter’, ‘round’, ‘bevel’}.
is_dashedがTrueの場合に,線分をどう結ぶか.
Line2D.set_dash_joinstyle(s)
Line2D.get_joinstyle()
dashes: (float, float, ..) or (None, None)
ダッシュとスペースの長さ.
floatでpnts単位で指定.長さは偶数のはず.
linestyleの(on_off_seq)に相当するんだと思う.指定したoffsetは0になるみたい.
Line2D.set_dashes(seq)
data: (2, N) 配列 or 1D配列二つ.
Line2D.set_data(*args)
Line2D.get_data(orig=True)
orig: オリジナルデータかどうか.
returns: (xdata, ydata)
drawstyle or ds=’default’: {‘default’, ‘steps’, ‘steps-pre’, steps-mid’, ‘steps-post’}
点の接続方法.
‘default’: 直線
’step’がつくやつは,水平線と垂直線からなり,種類で段差の位置が違う.
‘steps’: ‘step-pre’と同値.後方置換のため残されてる.
‘steps-pre’: 最初の点で段差が起きる.右の点のy値で水平になる.
‘steps-mid’: 2点間の中間x値で段差.
‘steps-post’: 右の点で段差が起きる.
(例)
Line2D.set_drawstyle(drawstyle)
Line2D.get_drawstyle()
Line2D.set_ds(drawstyle)
※ hoge_dsはhoge_drawstyleのエイリアス
Line2D.get_ds()
figure: Figure
Aristが所属するFigureインスタンスを設定.
matplotlib.artist.Artist.set_figure(fig)
fillstyle:
{‘full’, ‘left’, ‘right’, ‘bottom’, ‘top’, ‘none’}
マーカの塗り潰し方.
‘full’: mfcで塗り潰し.
‘位置’: 指定した半分をmrcで,もう半分をmfcaltで塗り潰し.
‘none’: 塗り潰しなし.
Line2D.set_fillstyle(fs)
Line2D.get_fillstyle()
gid: str
ArtistのグループID.
matplotlib.artist.Artist.set_gid(gid)
in_layout: bool
Artistをレイアウト計算に含めるか.例,Figure.tight_layout(), fig.savefig()
matplotlib.artist.Artist.set_in_layout(in_layout)
label: object
判例に表示されるラベル,
matplotlib.artist.Artist.set_label(s)
linestyle or ls: {‘-‘, ‘–‘, ‘-.’, ‘:’, ”, (offset, on-off-seq), …}
線の種類.
’-‘ or ‘sold’: –––––––––––
’–‘ or ‘dashed’: – – – – – – – – –
’-.’ or ‘dashdot’: ––– – –––– – –––– – ––
’:’ or ‘dotted’: ・・・・・・
’none’, ‘None’, ‘ ‘ or ”: 線なし
(offset, (on_off_seq)):
offset: この分だけ左にずれる(描画されない).
on_off_seq: (線,スペース,線,スペース…)
(0, ())は直線.(0, (0, 0))は表示されなくなる.
Line2D.set_linestyle(ls)
Line2D.get_linestyle()
Line2D.set_ls(ls)
※ hoge_lsはhoge_linestyleのエイリアス.
Line2D.get_ls()
線の種類例
linewidth or lw: float
線の太さ[pts].
Line2D.set_linewidth(w)
Line2D.get_linewidth()
Line2D.set_ls(w)
※ hoge_lsはhoge_linewidthのエイリアス.
Line2D.get_ls()
marker: マーカスタイルのstr, Path
or MarkerStyle
マーカの指定.
マーカについて.リンク
Line2D.set_marker(marker)
Line2D.get_marker(m)
markeredgecolor or mec: color
マーカのエッジ色.
Line2D.set_markeredgecolor(ec)
Line2D.get_markeredgecolor()
※ hoge_mecはhoge_markeredgecolorのエイリアス.Line2D.set_mec(ec)
Line2D.get_mec()
markeredgewidth or mew:
マーカエッジの幅.
Line2D.set_markeredgewith(ew)
Line2D.get_markeredgewith()
Line2D.set_mew(ew)
※ hoge_mewはhoge_markeredgewidthのエイリアス.
Line2D.get_mew()
markerfacecolor or mfc:
マーカの色.
Line2D.set_markerfacecolor(fc)
Line2D.get_markerfacecolor()
※ hoge_mfcはhoge_markerfacecolorのエイリアス.Line2D.set_mfc(fc)
Line2D.get_mfc()
markerfacecoloralt or mfcalt: color
2次的なマーカ色.
Line2D.set_markerfacecoloralt(fc)
Line2D.get_markerfacecolor()
※ hoge_mfcaltはhoge_markerfacecoloraltのエイリアス.Line2D.set_mfcalt(fc)
Line2D.get_mfcalt()
markersize or ms: float
マーカのサイズ [pts].
Line2D.set_markersize(sz)
Line2D.get_markersize()
※ hoge_msはhoge_markersizeのエイリアス.Line2D.set_ms(fc)
Line2D.get_ms()
markevery: None, int, (int, int), slice(), list[int], float, (float, float) or list[bool]
何個毎でプロットとか.
None:
全ポイントプロット.
int:
要素0番目のマーカプロット.N個ごとプロット.
(int, int):
(start, N).インデックスstartをプロット.N個ごとプロット.
slice(start, end, N):
インデックスstartをプロット.N個ごとプロット.インデックスendは含まず.
slice(0, 100, 3)とかで渡す.sliceは組み込み関数.
[int, int, ..]:
そのインデックスのものをプロット.10個プロットなら0〜9まで.負数もok.
float:
ほぼ等間隔で配置.
bounding-boxの対角線の表示座標の距離にこの値を乗じたもので決定.(?)
(float, float):
(offset, float).上記のものにoffset(はじめの位置が右にずれる)を追加したもの.
例
path_effects: AbstractPathEffect
pathのエフェクト.(?)
matplotlib.artist.Aritst.set_path_effects(path_effects)
picker: float or callable[[Artist, Event], tuple[bool, dict]]
線イベントの詳細.線上でマウスイベントが起こったかの判定に関わる.
Line2D.set_picker(p)
Line2D.set_picker(p)
pickradius=5:
ピック半径.この数値未満でマウスイベントが起こった場合に線上と判断される.
Line2D.set_pickradius(d)
Line2D.set_pickradius(d)
rasterized: bool
ベクトルのグラフィック表示とかでラスタライズ(ビットマップ: ベタ塗り)で描画.
全Artistがサポートしているわけではない.してない場合効果なし,警告が出る.
ピクセルエースの出力では無視.
例
matplotlib.artist.Artist.set_rasterized(rasterized)
sketch_params: (scale: float, length: float, randomness: float)
スケッチっぽくなる.
scale=None: float
線に垂直方向へのずれの大きさ [pixel].
Noneの場合,このスケッチぽくならない.
length=None: float
線に沿ったクネクネの長さ.デフォは128.0.
randomness=None: float
長さの縮小,拡大のスケールファクター.デフォは16.0.
PGFバックエンド(?)はRNGのシードとして扱い,上記のようにはしない.
同じシードを与えたら同じランダム形状になる.
matplotlib.artist.Aritst.set_sketch_params(scale, length, randomness)
snap: bool or None
ピクセルグリッドに位置が揃い,画像が鮮明になる.
1 pxの線を書いた場合,各画素で補間され,グレーの値になる.
snapすると,近いピクセルのとこに移動するので,黒線になる.
AggとMacOSでのみサポート.
True: 頂点を近いところにスナップ.
False: 移動しない.
None: 直線のみの場合に近いピクセル中心に丸める.
matplotlib.artst.Artist.set_snap(snap)
solid_capstyle: CapStyle or {‘butt’, ‘projecting’, ‘round’}
is_dashがFalseの場合に,直線の端っこの描き方.
Line2D.set_solid_capstyle(s)
Line2D.set_solid_capstyle(s)
solid_joinstyle: JoinStyle or {‘minor’, ‘round’, ‘bevel’}
is_dashがFalseの場合に,直線の繋ぐとこの書き方.
Line2D.set_solid_joinstyle(s)
Line2D.set_solid_joinstyle(s)
transform: unknown
Artistの変形.
unknowって書いてあるけどTransform?
Line2D.set_transform(t)
t: Transform
url: str
ArtstにURL.(?)
matplotlib.artist.Artist.set_url(url)
visible: bool
表示させるか.
matplotlib.artist.Aritst.set_visible(b)
zorder: float
小さいartistから描画される.
matplolib.aritst.Aritst.set_zorder(level
)
その他メソッド
Line2D.get_window_extend(renderer)
Aritstのバウンディングボックスを取得.幅,高さは非負.
バウンディングボックスのtightの計算に使用される.
デフォだと空の(0, 0)位置のバウンディングボックスを返却.
AritistウィンドウがAritst変化を拡大させても,値はアップデートされないことに注意.
軸範囲,図のサイズ,使用するcanvas(保存する際に使われる)等の変換スタックの変更で変化することがある.
インタラクティブな図形が正しく表示されていても,保存が正しくないことがある.
Line2D.is_dashed
直線ではないかどうか
Line2D.set(*, ........)
プロパティを一度に変更.
プロパティ名をキーワード引数に.
Line2D.update_from(other)
プロパティをotherからコピーする.
スタイルのリストとか辞書とか
drawStyleKeys = [‘default’, ‘steps-mid’, ‘steps-pre’, ‘steps-post’,’steps’]
drawStyles = {‘default’: ‘_draw_lines’, ‘steps’: ‘_draw_steps_pre’,’steps-mid’: ‘_draw_steps_mid’, ‘steps-post’: ‘_draw_steps_post’,’steps-pre’: ‘_draw_steps_pre’}
fillStyles = (‘full’, ‘left’, ‘right’, ‘bottom’, ‘top’, ‘none’)
filled_markers = (‘o’, ‘v’, ‘^’, ‘<‘, ‘>’, ‘8’, ‘s’, ‘p’, ‘*’, ‘h’,’H’, ‘D’, ‘d’, ‘P’, ‘X’)
lineStyles = {”: ‘_draw_nothing’, ‘ ‘: ‘_draw_nothing’, ‘-‘:’_draw_solid’, ‘–‘: ‘_draw_dashed’, ‘-.’: ‘_draw_dash_dot’, ‘:’:’_draw_dotted’, ‘None’: ‘_draw_nothing’}
markers = {‘.’: ‘point’, ‘,’: ‘pixel’, ‘o’: ‘circle’, ‘v’:’triangle_down’, ‘^’: ‘triangle_up’, ‘<‘: ‘triangle_left’, ‘>’:’triangle_right’, ‘1’: ‘tri_down’, ‘2’: ‘tri_up’, ‘3’: ‘tri_left’,’4′: ‘tri_right’, ‘8’: ‘octagon’, ‘s’: ‘square’, ‘p’: ‘pentagon’,’*’: ‘star’, ‘h’: ‘hexagon1’, ‘H’: ‘hexagon2’, ‘+’: ‘plus’, ‘x’:’x’, ‘D’: ‘diamond’, ‘d’: ‘thin_diamond’, ‘|’: ‘vline’, ‘_’:’hline’, ‘P’: ‘plus_filled’, ‘X’: ‘x_filled’, 0: ‘tickleft’, 1:’tickright’, 2: ‘tickup’, 3: ‘tickdown’, 4: ‘caretleft’, 5:’caretright’, 6: ‘caretup’, 7: ‘caretdown’, 8: ‘caretleftbase’, 9:’caretrightbase’, 10: ‘caretupbase’, 11: ‘caretdownbase’, ‘None’:’nothing’, None: ‘nothing’, ‘ ‘: ‘nothing’, ”: ‘nothing’}
validCap = (‘butt’, ‘projecting’, ‘round’)
validJoin = (‘miter’, ‘round’, ‘bevel’)
コメント