Python ve Matplotlib'de, çizimi bir açılır pencere olarak görüntülemek veya grafiği bir PNG dosyası olarak kaydetmek kolaydır. Bunun yerine grafiği RGB formatındaki numpy dizisine nasıl kaydedebilirim?Matplotlib: sayı dizisine kaydetme
15
A
cevap
35
Bu, kaydedilmiş bir plot ile bir pikselden piksele kadar bir karşılaştırma yapmanız gerektiğinde, birim testleri ve benzerleri için kullanışlı bir numaradır.
Tek yön fig.canvas.tostring_rgb
ve ardından numpy.fromstring
onaylı dtype ile kullanmaktır. Başka yollar da var, ama kullanmaya eğilimli olan bu.
E.g.
import matplotlib.pyplot as plt
import numpy as np
# Make a random plot...
fig = plt.figure()
fig.add_subplot(111)
# If we haven't already shown or saved the plot, then we need to
# draw the figure first...
fig.canvas.draw()
# Now we can save it to a numpy array.
data = np.fromstring(fig.canvas.tostring_rgb(), dtype=np.uint8, sep='')
data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,))
İlgili konular
- 1. Dizede, tamsayı dizisine dize kaydetme
- 2. Matplotlib 3d dönen grafikleri kaydetme
- 3. Matplotlib ile scatterplot animasyonlarını kaydetme
- 4. Omurga modelini ve koleksiyonunu JSON dizisine kaydetme
- 5. Matplotlib xaxis ve yaxis sayı biçimlendirmesini uygular
- 6. Matplotlib arsa görüntüsünü Django modeline kaydetme
- 7. matplotlib
- 8. Matplotlib'de bir pdf dosyasına birden fazla sayı kaydetme
- 9. Matplotlib
- 10. Matplotlib
- 11. matplotlib
- 12. Matplotlib
- 13. Matplotlib
- 14. matplotlib
- 15. Matplotlib
- 16. matplotlib
- 17. Matplotlib
- 18. matplotlib
- 19. Matplotlib
- 20. Matplotlib
- 21. MatPlotLib
- 22. Matplotlib
- 23. Matplotlib
- 24. Python matplotlib Şekil
- 25. Matplotlib - bir değer z
- 26. Sayı
- 27. Sayı =
- 28. Sayı
- 29. sayı
- 30. Sayı
Mükemmel! 12345 – Petter
Bu sadece belirli arka planda destekleniyor mu? Macosx backend ('tostring_rgb') ile çalışma görünmüyor. – mirosval
Agg üzerinde çalışır, kullanmadan önce matplotlib.pyplot dosyasını plt olarak içe aktarmadan önce matplotlib.use ('agg') 'öğesini ekleyin. – mirosval