2

.set_xlim()、などを個別に呼び出さずにインスタンス変数を一度に設定するために、軸メソッドに辞書を渡す方法はありました.set_ylim()か? Matlab にこの機能があることは知っていますが、Matplotlib も考えましたが、ドキュメントが見つかりません。

4

1 に答える 1

1

plt.setp ( も参照getp) です。

簡単な例として:

import matplotlib.pyplot as plt

linestyle = dict(color='red', marker='^', linestyle='--', linewidth=2)

fig, ax = plt.subplots()
line, = ax.plot(range(10))

plt.setp(ax, xlim=[-1, 12], ylim=[-5, 12], xlabel='X-axis')
plt.setp(line, **linestyle)

plt.show()

ここに画像の説明を入力

setpgetpは「matlab-isms」であるため、多くの人は「非 Pythonic」であり、絶対に必要でない限り使用すべきではないと感じています。

明らかに、これはすべて他の方法で行うことができます (たとえば、 を使用して軸の制限を設定するか、 を呼び出すときに dict をax.axis([xmin, xmax, ymin, ymax])拡張するだけです)。 linestyleplot

setpただし、それでも非常に便利です。一連のアーティストに対して自動的に動作するため、次のようなことができますplt.setp([ax1, ax2, ax3], **parameters)。これは、ティックやティックラベルなど、一度に多くのアーティストを操作することが多い場合に特に便利です。

また、matplotlib アーティストの簡単なイントロスペクションも可能になります。plt.setp(ax)すべてのパラメータのリストをplt.setp(line, 'marker')表示したり、有効なすべての引数のリストを表示したりするには、 を呼び出してみてくださいline.set_marker

于 2012-11-15T02:14:17.923 に答える