[[ 0.09834044 0.05596437 0.08409548 0.01200539 0.05020909 0.05553221
0.15732649 0.1705372 0.11046963 0.09910177 0.15449556 0.21226754
0.13576098 0.2016396 0.17727435 0.1536272 0.19067327 -0.21381126
-0.2876521 -0.6855868 ]
[ 0.50199206 0.50393367 0.5068545 0.50819611 0.50898569 0.50882053
0.50996339 0.51056341 0.51211042 0.51312654 0.51299576 0.51297555
0.51485414 0.51529348 0.51537164 0.51642804 0.51767036 0.52046692
0.52239931 0.52620384]
[ 0.5366334 0.53374475 0.51116071 0.50105042 0.49343487 0.5074103
0.49801061 0.49074439 0.490348 0.51273634 0.49330357 0.50341387
0.51155462 0.5207458 0.50892857 0.5102416 0.49146534 0.4894958
0.51825105 0.53006828]]
这是我的数据集,但是当我绘制热图时,我得到yaxis的轴标签从0到20 ......并且x标签为0到3.0。热图颜色条具有负值。
plt.pcolor(dat3.T)
plt.colorbar()
plt.show()
我也尝试过带有奇怪图形的plt.pcolor(dat3)。为什么数据在最终图中被插值?
答案 0 :(得分:1)
您的数据范围从-0.7ish到+ 0.5ish:这就是colorbar具有负值的原因。您有三组数据在图中显示为 band ,其颜色与颜色条一致。
>>> dat3.shape
(3, 20)
>>>
转置数据会将数据集绘制为彼此相邻的垂直列。
答案 1 :(得分:1)
“热图”对很多不同的人来说意味着很多不同的东西。 (例如,对我而言,这意味着某种核密度估计图。)
根据您的描述,听起来您可能有x,y,z数据,您想要制作x和y的散点图,用z着色。例如:
import matplotlib.pyplot as plt
data = [[ 0.09834044, 0.05596437, 0.08409548, 0.01200539, 0.05020909,
0.05553221, 0.15732649, 0.1705372 , 0.11046963, 0.09910177,
0.15449556, 0.21226754, 0.13576098, 0.2016396 , 0.17727435,
0.1536272 , 0.19067327, -0.21381126, -0.2876521 , -0.6855868 ],
[ 0.50199206, 0.50393367, 0.5068545 , 0.50819611, 0.50898569,
0.50882053, 0.50996339, 0.51056341, 0.51211042, 0.51312654,
0.51299576, 0.51297555, 0.51485414, 0.51529348, 0.51537164,
0.51642804, 0.51767036, 0.52046692, 0.52239931, 0.52620384],
[ 0.5366334 , 0.53374475, 0.51116071, 0.50105042, 0.49343487,
0.5074103 , 0.49801061, 0.49074439, 0.490348 , 0.51273634,
0.49330357, 0.50341387, 0.51155462, 0.5207458 , 0.50892857,
0.5102416 , 0.49146534, 0.4894958 , 0.51825105, 0.53006828]]
x, y, z = data
plt.scatter(x, y, c=z, s=120) # s=120 implies a marker size of 12 points.
plt.colorbar()
plt.show()