-1

如何matplotlib确保数据集可以在指定大小的图中。

我如何从存储为 numpy 的图中读取像素的颜色,说明数据点 (0,4) - 在图中。

例子:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
from PIL import Image
import librosa
import librosa.display
from matplotlib import cm


fig = plt.figure(figsize=(12,4))
min = -1.828067
max = 22.70058
data =  np.random.uniform(low=min, high=max, size=(474,40))
librosa.display.specshow(data.T,sr=16000,x_axis='frames',y_axis='mel',hop_length=160,cmap=cm.jet)
plt.show()
raw_input("sadas")

convert = plt.get_cmap(cm.jet)
numpy_output_static = convert(data.T)
plt.imshow(numpy_output_static, aspect = 'auto')
plt.show()
raw_input("asds")

第一个情节是:

在此处输入图像描述

第二个情节是:

在此处输入图像描述

所以第一个已调整大小以绘制大小 12,4,其中最后一个基本上绘制相同的数据,但只是使用数据形状作为大小......我该如何改变它?

Librosa 只是根据GitHub 源码执行 pcolormesh

4

1 回答 1

0

您需要为第二个图形定义另一个具有自己大小的图形。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
from PIL import Image
import librosa
import librosa.display
from matplotlib import cm


fig = plt.figure(figsize=(12,4))
min = -1.828067
max = 22.70058
data =  np.random.uniform(low=min, high=max, size=(474,40))
librosa.display.specshow(data.T,sr=16000,x_axis='frames',y_axis='mel',hop_length=160,cmap=cm.jet)
plt.show()
raw_input("sadas")

convert = plt.get_cmap(cm.jet)
numpy_output_static = convert(data.T)

fig = plt.figure(figsize=(12,4))
plt.imshow(numpy_output_static, aspect = 'auto')
plt.show()
raw_input("asds")
于 2017-05-17T20:52:58.913 回答