部分図を描くための Python Matplotlib ライブラリ
2022-01-28 21:29:41
グラフを描く際、一部を拡大して変化を確認する必要がある。最近、論文を書いていてこの問題にぶつかったのですが、軸の太さや線の形や大きさを制御するなどの要件がありました。これらはすべて、PythonのMatplotlibライブラリで実現することができます。詳しくは以下のコードをご覧ください。
import matplotlib.pyplot as plt
init_np = np.array(x0_list)
xopt_net_np = np.array(xopt_net)
plt.configure(figsize=(8,5))
plt.subplot(311)
ax = plt.gca() # Get the axes
bwith = 1.2
ax.spines['bottom'].set_linewidth(bwith)
ax.spines['left'].set_linewidth(bwith)
ax.spines['top'].set_linewidth(bwith)
ax.spines['right'].set_linewidth(bwith)
plt.yticks([])
plt.xlim([-21,21])
plt.plot(init_np, np.zeros_like(init_np), '.b', markersize=2, label='initial value Distri.')
plt.legend()
plt.subplot(312)
ax = plt.gca()
bwith = 1.2
ax.spines['bottom'].set_linewidth(bwith)
ax.spines['left'].set_linewidth(bwith)
ax.spines['top'].set_linewidth(bwith)
ax.spines['right'].set_linewidth(bwith)
plt.yticks([])
plt.xlabel('x')
plt.plot(xopt_gd, np.zeros_like(xopt_gd), '.r', markersize=2, label='optimal value Distri. by GD')
plt.xlim([-21,21])
plt.legend()
plt.subplot(313)
ax = plt.gca()
bwith = 1.2
ax.spines['bottom'].set_linewidth(bwith)
ax.spines['left'].set_linewidth(bwith)
ax.spines['top'].set_linewidth(bwith)
ax.spines['right'].set_linewidth(bwith)
plt.yticks([])
plt.plot(xopt_net_np, np.zeros_like(xopt_net_np), '.r', markersize=2, label='optimal value Distri. by Network')
plt.xlim([-21,21])
plt.legend()
plt.axes([0.125,0.275,0.25,0.07]) # list:[lower-left horizontal coordinate, lower-left vertical coordinate, width, height]
# plt.xticks(())
plt.yticks(())
plt.plot(xopt_net_np, np.zeros_like(xopt_net_np), '.r', markersize=1, label='optimal value Distr.')
plt.savefig('sol_scipy_ai.png', dpi=400, bbox_inches='tight')
plt.show()
次のような効果を得る。
以上が今回の記事の内容ですが、皆様の学習の一助となり、スクリプトハウスをより一層応援していただければ幸いです。
関連
-
[解決済み】Numpyのエラー。特異な行列
-
[解決済み] urllib2 HTTP エラー 400: 不正なリクエスト
-
[debug] ValueError: すべての入力配列は、同じ次元数で解決されなければなりません。
-
[解決済み] pyathenaを使ったaws athenaクエリの実行
-
[解決済み] imp.load_sourceメソッドの第一引数は何をするのでしょうか?
-
[解決済み] Pythonは関数を実行せずに存在するかどうかをチェックする
-
[解決済み] Python-降雨統計
-
[解決済み] ImportError: redisという名前のモジュールがない
-
python use pivot_table long table to wide table error: 集計解に数値型がない
-
pythonの未解決のリファレンスソリューション
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】「getaddrinfo failed」、これはどういう意味ですか?
-
[解決済み】syntaxerror: "pythonの行継続文字の後に予期しない文字がある "数式
-
[解決済み】 _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み] [Solved] Map to List エラー。シリーズオブジェクトを呼び出すことはできません
-
PythonクローラーXPathの構文を1つの記事で紹介
-
[解決済み] flask コマンドが使用するホストとポートを変更するにはどうすればよいですか?
-
[解決済み] Python: リテラルに代入できない
-
[解決済み] sqlite3.OperationalError: データベースファイルを開くことができません。
-
numpy.unravel_indexの説明