我目前无法理解为什么在存储数据后无法重新创建绘图..
import os
import sys
from os import listdir
from os.path import isfile, join
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import seaborn as sb
from matplotlib.colors import Normalize
import matplotlib
from matplotlib import cm
from PIL import Image
import librosa
import librosa.display
import ast
def make_plot_store_data(name,interweaved):
librosa.display.specshow(interweaved.T,sr=16000,x_axis='frames',y_axis='mel',hop_length=160,cmap=cm.jet)
plt.title("log mel power spectrum of interweaved " + name)
plt.colorbar(format='%+02.0f dB')
plt.savefig(plot+"/"+name+"_plot_interweaved_conv.png")
plt.show()
plt.close()
convert = plt.get_cmap(cm.jet)
numpy_output_interweawed = convert(interweaved.T)
print interweaved.shape
print numpy_output_interweawed.shape
plt.imshow(numpy_output_interweawed, interpolation='nearest')
plt.show()
raw_input("Somethign")
numpy_output_interweawed.dump(numpy_train+name+"_normalized_interweaved"+".dat")
numpy_output_interweawed_or = convert(interweaved.T)*255
numpy_output_interweawed_or.dump(numpy_train+name+"_interweaved"+".dat")
该图通过librosa
查看数据显示为
但是,当我使用转换原始数据plt.cmap(cm.jet)
并使用它的绘图时matplotlib.pyplot
,数据会弄乱,并且在任何方面看起来都不像原始数据..
编辑
这是与
plt.imshow(interweaved.T,aspect = 'auto')
plt.show()
raw_input("Somethign")
似乎图像的纵横比很重要-当我将情节放大时,它开始类似于原始情节-但是为什么颜色如此暗...