相关疑难解决方法(0)

Python:如何绘制具有不同颜色强度或不同圆的半径的坐标的热图?

给出三个列表中的一些数据,例如:

latitudes = [50.877979278564,48.550216674805,47.606079101562,50.772491455078,42.451354980469,43.074657440186,44.044174194336,44.563243865967,52.523406982422,50.772491455078]
longitudes = [4.700091838837, 9.038957595825, -122.333000183105, 7.190686225891, -76.476554870605, -89.403335571289, -123.070274353027, -123.281730651855, 13.411399841309, 7.190686225891]
counts = [15, 845, 2, 50, 95, 49, 67, 32, 1, 88]
Run Code Online (Sandbox Code Playgroud)

可以解释为:坐标i是(latitudes[i],longitudes[i])counts[i]在地图上发生的次数.

我想生成一个具有适当比例的热图.坐标应由颜色填充的圆圈表示.圆的直径应以某种方式表示相应坐标的计数.

(作为替代方案,我考虑用颜色强度来表示计数.我不知道哪个是最好的,或者这两个represantation是否可以组合.)

怎么才能实现这样的热图?(我假设它被称为?)

或许提及我正在处理的数据量是相关的:

  • sum(counts) 约为1.000.000
  • 有大约25.000个不同的坐标.

python plot matplotlib heatmap

3
推荐指数
1
解决办法
7025
查看次数

为什么我用 matplotlib.imshow 绘制的 matplotlib 2D 直方图/热图与我的轴不匹配?

我正在尝试为以下数据创建直方图

x = [2, 3, 4, 5]
y = [1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码,例如,在关于如何在 matplotlib 中生成二维直方图的这个问题的答案的旧版本中进行了描述。

import matplotlib.pyplot as plt
import numpy as np

bins = np.arange(-0.5, 5.5, 1.0), np.arange(-0.5, 5.5, 1.0)
heatmap, xedges, yedges = np.histogram2d(x, y, bins=bins)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]

plt.clf()
plt.imshow(heatmap,
           extent=extent,
           interpolation='nearest',
           cmap=plt.get_cmap('viridis'), # use nicer color map
          )
plt.colorbar()

plt.xlabel('x')
plt.ylabel('y')
Run Code Online (Sandbox Code Playgroud)

然而,这产生的情节似乎以某种方式旋转。

我期待这个:

在此处输入图片说明

但我得到了

绘图显示以意外、错误的方式绘制的数据

显然,这与我的输入数据不匹配。此图中突出显示的坐标是(1, 0), (1, 1), (1, 2), (1, 3)

到底是怎么回事?

python plot matplotlib

3
推荐指数
1
解决办法
1256
查看次数

如何从 Python 中的 2D 散点图数据创建热图?

如何从 Python 中的 2D 散点图数据创建热图,其中散点图中的每个 (x,y) 点都有与其关联的 az 值?z 值将是用于为热图着色的值。


例如,在 R 中,我可以使用:

# This example is from http://knowledge-forlife.com/r-creating-heatmap-scatterplot-data/
#I'm just setting the seed so you can see the same example on your computer
set.seed(1)

#Our X data
x <- runif(150)

#Our Y data
y <- runif(150)

#Our Z data
z <- c(rnorm(mean=1,100),rnorm(mean=20,50))

#Store the length of our data
N <- length(x)

# View the scatterplot
plot(x, y)

#Here is the interpolation to give the heatmap effect. 
#Use xo and …
Run Code Online (Sandbox Code Playgroud)

python heatmap

3
推荐指数
1
解决办法
2555
查看次数

是否有使用Matplotlib创建hexbin热图的教程?

我正在尝试学习如何使用matplotlib在Python中进行热图.我将基于一系列元组在一个巨大的X,Y网格中绘制一系列位置.我发现这个代码示例给出了我想要做的完美示例.我似乎无法理解它的不同部分是什么意思.最终我想在现有图像的叠加上输出它.谢谢!

python matplotlib

2
推荐指数
1
解决办法
3928
查看次数

标签 统计

python ×4

matplotlib ×3

heatmap ×2

plot ×2