我試圖將一個簡化的繪圖保存爲EPS,然後使用epstopdf將其轉換爲PDF,因爲這會產生更小的文件大小。Matplotlib savefig到eps忽略可見性= False
我使用共享他們的x和y軸的多個子圖。我添加了一個總體子圖,所以我可以輕鬆添加xlabel和ylabel。我設置frameon = False,所以它不會出現。之後,我將這個座標軸的刺和剔除掉。當數字顯示時,我沒有看到任何來自大軸的東西。到現在爲止還挺好。
保存圖形時出現問題。保存到EPS然後轉換爲PDF使得標籤出現,並干擾我的文本。徹底去除標籤也不好,因爲間隔會將標籤放在我想要看到的標籤的標籤中。奇怪的是,保存到PDF沒有這個問題,但文件大小是11倍。
有沒有人知道我在做什麼錯,或發生了什麼事?
工作例如:
import matplotlib.pyplot as plt
import numpy as np
import subprocess
fig, ax = plt.subplots(2, 2, sharex=True, sharey=True)
ax = ax.flatten()
ax = np.append(ax, fig.add_subplot(1, 1, 1, frameon=False))
ax[-1].spines['top'].set_color('none')
ax[-1].spines['bottom'].set_color('none')
ax[-1].spines['left'].set_color('none')
ax[-1].spines['right'].set_color('none')
ax[-1].tick_params(
labelcolor='none', top='off', bottom='off', left='off', right='off')
ax[-1].set_xlabel('$u$', fontsize=14)
ax[-1].set_ylabel('$v$', fontsize=14)
plt.setp(ax[-1].get_xticklabels(), visible=False)
fig.savefig('TestPdf.pdf')
fig.savefig('TestEps.eps')
subprocess.check_call(['epstopdf', 'TestEps.eps'])
plt.show()
http://stackoverflow.com/questions/19761335/phantom-axis-in-eps-images-despite-having-set-invisible-axis-in-matplotlib強烈懷疑這在同樣的問題 – tacaswell
我沒有找到這個問題,但它確實似乎是相關的。 – Wouter