'u genellikle eps
biçiminde kaydedildiği zaman saydamlığı işleyebilecek şekilde rasterleştirmek için kullanıyorum, ancak rasterleştirme aynı zamanda eksen etiketlerini ve konuşma etiketlerini de bulanıklaştırıyor, bu nedenle yalnızca tümüyle değil yalnızca eksen içindeki yamaları rasterleştirmenin bir yolu var rakam? veya eps formatını şeffaflıkla dışa aktarmak için daha iyi bir yer var mı? Teşekkürler. matplotlib Artists rasterleştirilecek gibiMatplotlib'deki etiketleri bulanıklaştırmadan bir çizim nasıl daha iyi rasterleştirilir?
cevap
, sanatçı (http://matplotlib.sourceforge.net/api/artist_api.html) türetilmiş herhangi bir sınıf True
için anahtar rasterized
seti ile rasterleştirilen edilebilir. Böylece sadece yamalarınızı rasterleştirebilirsiniz.
Bazı kombinasyonları denedim ve işe yarıyor gibi görünüyor. Ancak kalite çok iyi görünmüyor (ayrıca bkz. http://www.mail-archive.com/[email protected]/msg13276.html).
import numpy as np
import matplotlib.pyplot as plt
def add_patch(ax, **kwargs):
if 'rasterized' in kwargs and kwargs['rasterized']:
ax.set_rasterization_zorder(0)
ax.fill_between(np.arange(1, 10), 1, 2, zorder=-1, **kwargs)
ax.set_xlim(0, 10)
ax.set_ylim(0, 3)
if 'alpha' in kwargs and kwargs['alpha'] < 1:
txt = 'This patch is transparent!'
else:
txt = 'This patch is not transparent!'
ax.text(5, 1.5, txt, ha='center', va='center', fontsize=25, zorder=-2,
rasterized=True)
fig, axes = plt.subplots(nrows=4, sharex=True)
add_patch(axes[0], alpha=0.2, rasterized=False)
add_patch(axes[1], alpha=0.2, rasterized=True)
add_patch(axes[2], rasterized=False)
add_patch(axes[3], rasterized=True)
plt.tight_layout()
plt.savefig('rasterized_transparency.eps')
ben tarayıcıda göstermek için png
eps
dönüştürülen:
Ayrıca bakınız: How to save figures to pdf as raster images in matplotlib.
Teşekkürler, örneğini denerim ve kendi kodlarım ASAP üzerinde test ettireceğim. Cevap o zamana kadar kabul edilecektir ;-). – nye17
Dpi'yi belirtirseniz sonuçlar daha iyi olur; bu da oldukça düşük bir değere varsayılan gibi görünüyor. Örneğin,
plt.savefig('rasterized_transparency.eps',dpi=200)
son satırı değiştirin ve dosya 4.5m büyür ve% 200 büyütme kadar Acrobat iyi görünüyor. Ancak, saydamlığı destekleyen muhtemelen daha kompakt biçimlerin olduğunu kabul ediyorum.
- 1. Matplotlib kontur çizim etiketleri
- 2. daha iyi bir yol?
- 3. Daha iyi bir yöntem, daha hızlı bir şekilde sorgulamak için daha iyi bir yoldur.
- 4. Daha iyi bir php array_merge
- 5. Veri noktalarından (veya CDF'leri çizmek için daha iyi bir yol?) [Matplotlib veya genel çizim yardımı]
- 6. LinQ'da Daha İyi Kod?
- 7. Bir resimden URL'ye tuval çizim Çizim
- 8. TR1 - Hangisi daha iyi?
- 9. Hangisi daha iyi seçmeli?
- 10. .NET'de Daha İyi CSS?
- 11. HTTPS ... Çözüm veya daha iyi bir yol?
- 12. Bir UIImageView IOS biçiminde çizim Çizim
- 13. Dökümünüzü daha iyi bir desenle değiştirin
- 14. RSpec'te nasıl daha iyi hata ayıklayabilirim?
- 15. Bu kodu nasıl daha iyi hale getirebilirim?
- 16. Nasıl kullanılır? "<% = Request.getContextPath()%>" daha iyi "../"
- 17. Etiketleri bir sql sunucu tablosunda depolamanın en iyi yolu?
- 18. Yapısal Mülkiyet veya daha iyi bir yolu?
- 19. Bu CSS'yi yazmanın daha iyi bir yolu?
- 20. MSXML'den daha iyi bir IDOMImplementation var mı?
- 21. Daha iyi bir paket tasarım mı?
- 22. Yazmak için daha iyi bir yaklaşım görünümü
- 23. Python 3 bytes.index: daha iyi bir yol?
- 24. Statik yöntemi tanımlamanın daha iyi bir yolu
- 25. JButtons'tan bıktım, java'da nasıl daha iyi bir GUI yapabilirim?
- 26. Daha iyi bir PHP/MySQL fotoğraf galerisi veya ASP.NET/C# fotoğraf galerisi hangileri daha iyi olacak?
- 27. Daha iyi boost asio örnek
- 28. "ab" veya "httperf" daha iyi?
- 29. Bunu yazmanın daha iyi yolu?
- 30. Bunu daha iyi körleyebilir miyim?
Sadece set_zorder'ı ve set_rasterization_zorder'ı keşfettim, sanırım yararlı olurlar, ama yine de belgeleri kazmaya çalışıyorlar, yine de herhangi bir yardım takdir ediliyor. – nye17
'pdf' kullanamaz mısınız? Rasterizasyon olmadan şeffaflığı koruyacaktı. – Avaris
@Avaris maalesef pdf kullanamıyorum, ancak eps ile yapışmak zorundayım, bu yüzden rasterleştirme tek çıkış yolu gibi görünüyor. – nye17