2017-04-26 1 views
-1

Ich habe eine .fit-Datei. Ich habe die Datei gelesen, das Bild mit Skalierung angezeigt. Wenn ich dieses Bild in eine PNG-Datei schreiben möchte, zeigt die PNG-Datei das Bild ohne Skalierung an. Ich füge den Code an, den ich ausprobiert habe.Bild geplottet mit Matplotlib zeigt keine Farbleiste

import pyfits 
import matplotlib 
import matplotlib.pyplot as plt 
%matplotlib inline 

hdulist = pyfits.open('HMI20170425_134641_6173.fits') 
image_data = hdulist[0].data 
hdulist.close() 
fig=plt.imshow(image_data, cmap='gray') 
plt.colorbar() 
fig.write_png('image.png') 

Es zeigt Ausgabe Bild mit Maßstab. Die Datei 'image.png' zeigt jedoch ein Bild ohne Skalierung. Bitte helfen Sie mir in dieser Hinsicht.

Antwort

2

Ich vermute, was Sie die Skala nennen, ist eigentlich die Farbleiste? Was in der Tat fehlt, wenn Sie fig.write_png verwenden, weil Sie hier nur den Bildteil des Plots speichern. Sie sollten stattdessen plt.savefig verwenden:

# use astropy instead of pyfits which is no more maintained 
import astropy.io.fits as pyfits 

import matplotlib.pyplot as plt 
%matplotlib inline 

image_data = pyfits.getdata('HMI20170425_134641_6173.fits') 
plt.imshow(image_data, cmap='gray') 
plt.colorbar() 
plt.savefig('image.png') 
+0

Danke Saimn. Es funktioniert wirklich gut, um meinen Zweck zu lösen. – Chandan

Verwandte Themen