Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
Python 数据表中的径向热图_Python_Matplotlib_Heatmap_Polar Coordinates - Fatal编程技术网

Python 数据表中的径向热图

Python 数据表中的径向热图,python,matplotlib,heatmap,polar-coordinates,Python,Matplotlib,Heatmap,Polar Coordinates,我有一个包含3列数据的文件:天顶(Z,从0到90°)和方位(a,从0到360°)。和亮度作为颜色变量 我需要将python与matplotlib结合使用,将这些数据绘制成类似以下内容: 这是到目前为止我的代码(它返回一个错误): 导入matplotlib.pyplot作为plt 将numpy作为np导入 #`data`具有以下形状: # [ #[天顶值从0到90], #[方位角值(0到365)增加1,并在365后循环], #[辐射度:需要由颜色值映射的浮动] #] 数据=[[6.000e+00

我有一个包含3列数据的文件:天顶(Z,从0到90°)和方位(a,从0到360°)。和亮度作为颜色变量

我需要将python与matplotlib结合使用,将这些数据绘制成类似以下内容:

这是到目前为止我的代码(它返回一个错误):

导入matplotlib.pyplot作为plt
将numpy作为np导入
#`data`具有以下形状:
# [
#[天顶值从0到90],
#[方位角值(0到365)增加1,并在365后循环],
#[辐射度:需要由颜色值映射的浮动]
#]
数据=[[6.000e+00 1.200e+01 1.700e+01 2.300e+01 2.800e+01 3.400e+01 3.900e+01
4.500e+015.000e+015.600e+016.200e+016.700e+017.300e+017.800e+01
8.400e+018.900e+013.934e+014.004e+014.054e+014.114e+014.154e+01
4.204e+014.254e+014.294e+014.334e+014.374e+014.414e+014.454e+01
4.494e+014.534e+014.564e+014.604e+014.644e+014.684e+014.714e+01
4.754e+014.794e+014.824e+014.864e+014.904e+014.944e+014.984e+01
5.014e+01 5.054e+01 5.094e+01 5.134e+01 5.174e+01 5.214e+01 5.264e+01
5.304e+01 5.344e+01 5.394e+01 5.444e+01 5.494e+01 5.544e+01 5.604e+01
5.674e+01 5.764e+01]
[1.960e+02 3.600e+01 2.360e+02 7.600e+01 2.760e+02 1.160e+02 3.160e+02
1.560e+023.560e+021.960e+023.600e+012.360e+027.600e+012.760e+02
1.160e+02 3.160e+02 6.500e+00 3.400e+00 3.588e+02 2.500e+00 3.594e+02
3.509e+02 5.000e-01 6.900e+01 1.090e+01 3.478e+02 1.250e+01 1.050e+01
7.300e+00 2.700e+00 3.571e+02 3.507e+02 1.060e+01 3.200e+00 3.556e+02
3.480e+027.300e+003.597e+023.527e+021.260e+016.600e+001.200e+00
3.570e+023.538e+023.520e+023.516e+023.528e+023.560e+021.200e+00
8.800e+00 3.567e+02 1.030e+01 6.800e+00 8.300e+00 3.583e+02 3.581e+02
3.568e+02 3.589e+02]
[3.580e-04 6.100e-04 3.220e-04 4.850e-04 4.360e-04 2.910e-04 1.120e-03
2.320e-04 4.300e-03 2.680e-04 1.700e-03 3.790e-04 7.460e-04 8.190e-04
1.030e-03 3.650e-03 3.050e-03 3.240e-03 3.340e-03 3.410e-03 3.490e-03
3.290e-03 3.630e-03 3.510e-03 3.320e-03 3.270e-03 3.280e-03 3.470e-03
3.720e-03 3.960e-03 3.980e-03 3.700e-03 3.630e-03 4.100e-03 4.080e-03
3.600e-03 3.990e-03 4.530e-03 4.040e-03 3.630e-03 4.130e-03 4.370e-03
4.340e-03 4.210e-03 4.100e-03 4.090e-03 4.190e-03 4.380e-03 4.460e-03
4.080e-03 4.420e-03 3.960e-03 4.230e-03 4.120e-03 4.440e-03 4.420e-03
4.370e-03 4.380e-03]]
rad=数据[0]
azm=数据[1]
#据我所知,我需要根据天顶和方位角值创建网格网格
r、 th=np.网格网格(rad,azm)
z=data[2]#这不起作用,因为“pcolormesh”希望这是一个2d数组
plt.子地块(projection=“polar”)
plt.pcolormesh(th,r,z,shading=“auto”)
plt.绘图(azm,r,color=“k”,ls=“无”)
plt.show()
  • 注意:我的实际数据为56k行,如下所示(忽略第4列):
上面的示例数据是我试图降低这个海量文件的分辨率,所以我只使用了1/500行数据。这可能是降低分辨率的错误方法,如果是,请纠正我

我看过的每个教程都从
meshgrid
生成的
r
数组生成
z
值。这让我对如何将我的
z
列转换为一个2d数组感到困惑,该数组将正确映射到天顶和方位角值。 他们会使用类似这样的东西:

z=(r**2.0)/4.0

因此,采用
r
的精确形状并应用变换来创建颜色。

绘制给定数据的最简单方法是使用极坐标散点图。 使用蓝色表示低值,红色表示高值,可能看起来像:

导入matplotlib.pyplot作为plt
将numpy作为np导入
数据=[6.00E+01,2.800e+01,3.400e+01,3.934e+01,4.004e+01,4.004e+01,4.004e+01,4.500e+01,4.500e+01,4.500e+01,5.000e+01,4.500e+01,5.000e+01,5.000e+01,5.000e+01,5.200e+01,1,5.600e+01,1,5.200e+01,1,1,5.600e+01,1,1,1,5.600e+01,1,1,1,6.200e+1,1,1,6.200e+01,6.200e+01,6,6.200e+01,6,6.200e+01,6.200e+01,6,6+1,6+1,6.200e+1,6+1,6,6.200e 414e+01、4.454e+01、4.494e+01、4.534e+01、4.564e+01、4.604e+4.754e+01、4.794e+01、4.134e+01、5.094e+01、5.134e+01、5.174e+01、5.174e+01、5.214e+01、5.214e+01、5.174e+01、5.174e+01、5.174e+01、5.174e+01、5.214e+01、5.214e+01、5.214e+01、5.1、5.264 E+01、5.264+01、5.214e+01、5+01、5.214e+01、5.214e+01、5+01、5.214e+01、5.214e+01、5+01、5+01、5.264+1、5.264+01、5.264+1、5.264+1、5.264+1、5.264+5.264 E+5.264 E+5+5.5.674e+01,5.764e+01],
1.160e+02,3.160e+02,3.160e+02,3.400e+00、3.400e+00、3.500e+00、3.400e+00、3.400e+00、3.5888 E+02、1.588e+02、2.500e+02、3.500e+00、3.500e+00、3.58888E+02、2.500e+02、2.500e+00、2.500 E+00和00、00和00和00、0.500和00、00、3.500+00、3.500+00、3.500和00、00、3.500和00、3.500和00、3.00、3.00、3.500和00、3.00、3.00、3.500、3.00、3.00、3、3.500、3、3.500、3、3.500、3.00、3、3、3、3、3、3.250e+01,1.050e+01,7.300e+00,2.700e+00,3.571e+02,3.507e+3.480e+02、7.300e+00、7.300e+00、3.526E+02、3.527e+02、3.560e+02、3.560e+02、1.200e+00、3.567e+02、3.597e+02、3.5677E+02、3.560e+02、3.560e+02、1.2002、1.2002、1.200e+00、1.1.200、3.527、3.5万E+02、3.527、3.5、3.560e+02、1、1、1、1、1.560e+02、1、1、1、1、1.2002、1、1.1.5万5万E+02、1、1、1、1.2002、1、1.200、1.200、1.200、1.200、1.200、1.200、1.200、1、1.200、1、1、1.[3.589e+02],
3.580e-04,2.910e-04,1.120e-03,3.05E-03,3.050 E-03,3.050 E-03,3.050 E-03,3.050 E-03,3.240e-03,3.40E-3,2.320e-03,2.320e-3,2.320e-04,2.320e-04,2.320e-04,4-4.300e-04,4.300e-04,4-4-3,4.300e-03,4.300e-03,4.300e-03,4.300e-03,4-3.300e-03,4-03,4.300e-03,4-03,4-3.300e-03,4-3-3.300e-03,4-3-3-3-3-3,4,4-3.300e-03,4-3-3-3-3-3,4-3 E-03、3.470e-03、3.720e-03、3.960e-03、3.980e-03、3.700e-3.990e-03,4.190e-03,4.190e-03,4.190e-03,4.380e-3,4.380e-3,4.460e-03,4.460e-3,4.460e-3,4.460e-03,4.380e-03,4.380e-3,4.460e-3,4.460e-4.460e-03,4.460e-3,4.460e-3,4.080-03,4.460e-03,4.460e-3,4.460e-3,4.460e-3,4.460e-3,4.460e-3,4.0-3,4.08E-3,4.0-3,4.0-3,4.0-3,4.0-3,4.0-3,4.0-3,4.460e-3,4.4.460e-3,4.460e-3,4.]
rad=np.弧度(数据[1])
azm=数据[0]
z=数据[2]
plt.子地块(projection=“polar”)
plt.散射(rad,azm,c=z,cmap='coolwarm')
plt.colorbar()
plt.show()

用真实数据创建这样一个散点图可以让你知道它是什么样子的。你可能想选择一个散点图,这取决于你想要什么