修复使用matplotlib制作图的colorange

时间:2017-04-21 03:49:02

标签: python matplotlib plot colors

我目前正在尝试使用matplotlib可视化一些数据集,但似乎在颜色范围方面存在一些问题。

我目前制作剧情的方式如下:

def make_plot_store_data(name,interweaved,static):
    Y =  np.array(range(0,static.shape[1]))
    X =  np.array(range(0,static.shape[0]))
    X,Y = np.meshgrid(X, Y)

    plt.pcolormesh(X,Y,np.log10(static.T),cmap=cm.jet)
    plt.xlabel('Frames')
    plt.ylabel('Frequency(Hz)')
    plt.title('Power spectrum of ' + name)
    plt.colorbar()
    plt.savefig(plot+"/"+name+"_plot_static_conv.png")
    plt.close()

以这种方式绘制图标的问题是,颜色条会自动调整到数据集,这是不需要的。

我想要一个恒定的颜色条/固定颜色条,这样我就可以避免这样的表示:

enter image description here

其中darkred => 18

这里是:

enter image description here

是暗的=> 2.5

我正在尝试进行模式识别,我认为这在某种程度上搞砸了我的结果。

1 个答案:

答案 0 :(得分:0)

您可以使用 vmin vmax 设置最小和最大颜色级别:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,100,0.2)
y = np.arange(0,40,0.2)
X, Y = np.meshgrid(x,y)
Z = np.random.random((y.shape[0],x.shape[0]))*np.sin(0.01*X*Y)


plt.pcolormesh(X,Y,Z, cmap=plt.cm.jet, vmin=0, vmax=1)
plt.colorbar()
plt.show()

enter image description here