Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“显示”;“热图”;具有alpha值的图像-Matplotlib/Python_Python_Matplotlib_Rgba_Colorbar_Imshow - Fatal编程技术网

“显示”;“热图”;具有alpha值的图像-Matplotlib/Python

“显示”;“热图”;具有alpha值的图像-Matplotlib/Python,python,matplotlib,rgba,colorbar,imshow,Python,Matplotlib,Rgba,Colorbar,Imshow,我正试图绘制一些数据来分析它们 我的数据定义如下: class Data(object): def __init__(self, rows=200, cols=300): """ The Data constructor """ # The data grid self.cols = cols self.rows = rows # The 2D data structure

我正试图绘制一些数据来分析它们

我的数据定义如下:

class Data(object):
    def __init__(self, rows=200, cols=300):
        """
        The Data constructor
        """
        # The data grid
        self.cols = cols
        self.rows = rows
        # The 2D data structure
        self.data = numpy.zeros((rows, cols), float)
起初,我有这个方法:

  def generate_data_heat_map(data, x_axis_label, y_axis_label, plot_title, file_path):
    plt.figure()
    plt.title(plot_title)
    fig = plt.imshow(data.data, extent=[0, data.cols, data.rows, 0])
    plt.xlabel(x_axis_label)
    plt.ylabel(y_axis_label)
    plt.colorbar(fig)
    plt.savefig(file_path + '.png')
    plt.close()
这给了我一个热图图像(第二个图),因为我给它传递了一个MxN[亮度(灰度,仅浮动数组)]。我不知道为什么这不会生成灰度图像,但到目前为止我并不担心,因为这是我想要的结果

经过进一步计算后,我使用了这种方法来可视化我的数据,使用data\u属性作为RGB,使用data\u不确定性作为alpha:

def generate_data_uncertainty_heat_map(data_property, data_uncertainty, x_axis_label, y_axis_label, plot_title, file_path):
    plt.figure()
    uncertainty = numpy.zeros((data_property.rows, data_property.cols, 4))
    uncertainty[..., :3] = data_property.data[..., numpy.newaxis]
    uncertainty[..., 3] = data_uncertainty.data
    plt.title(plot_title)
    fig = plt.imshow(uncertainty.data, extent=[0, data_property.cols, data_property.rows, 0])
    plt.xlabel(x_axis_label)
    plt.ylabel(y_axis_label)
    plt.colorbar(fig)
    plt.savefig(file_path + '.png')
    plt.close()
但是,当然,这给了我一个带有alpha值的灰度图像,因为我在重复R、G和B的相同值。但我真正想要的是第一个方法结果(彩色),其中一些alpha值计算为数据的不确定性

我注意到我的颜色栏也与我的数据无关(它是RGB格式的,我不能用它来分析我的数据)

我不知道如何实现我想要的结果,那就是有一个“热图”图,其中合并了由我的不确定性\u数据定义的alpha值,以及一个表示该不确定性的颜色条。就像合并上面的两幅图像一样:

这是我的颜色:

这是我的阿尔法:

通过@BlazBratanic提供的转换,我想我可以看到一点颜色(不确定),但它远远超出我的预期

我的所有值都在0.0和1.0之间

提前感谢。

用于将灰度值映射到颜色值。如果我没记错的话,“jet”是默认的颜色映射。所以你可以这样做:

uncertainty = plt.cm.jet(data_property.data)
uncertainty[..., 3] = data_uncertainty.data

你现在知道了吗,@ubuntu?除了我的测试数据什么都没有。(: