Matplotlib と3 項ライブラリを使用した次の Python スクリプトがあります。頂点と軸にいくつかのラベルを付けた 3 値プロットを生成します。
import matplotlib.pyplot as plt
import ternary
# Cleaning up
plt.close('all')
# Open figure
scale = 100
fig, tax = ternary.figure(scale=scale)
tax.ticks(axis='lbr', multiple=10, linewidth=1, offset=0.025)
tax.get_axes().axis('off')
tax.clear_matplotlib_ticks()
# Draw Boundary and Gridlines
tax.boundary(linewidth=2.0)
tax.gridlines(color="grey", multiple=10)
# Vertex labels
tax.left_corner_label('A')
tax.right_corner_label('B')
tax.top_corner_label('C')
# Axis labels
tax.left_axis_label("$\longleftarrow$ A [%]", va='center', ha='center', offset=0.15)
tax.bottom_axis_label("B [%] $\longrightarrow$", va='center', ha='center', offset=0.11)
tax.right_axis_label("$\longleftarrow$ C [%]", va='center', ha='center', offset=0.15)
# Save figure
fig.savefig('ternary_plot_1.png')
fig.savefig('ternary_plot_2.png')
savefig コマンドを 2 回続けて直接呼び出すと、結果の画像は次のようになります。特に、最初のものは頂点と軸のラベルを表示しませんが、2番目のものは表示します。何故ですか?
.eps または .svg として保存する場合も同じように動作します。「通常の」プロットでこの動作を見たことはありません。これらのラベルが 3 項ライブラリで実装されている方法と関係があると思われますが、2 回目に呼び出されたときに savefig の動作が異なるのはなぜですか?