标签: heatmap

Google地球热图

有没有办法在谷歌地球上创建热图,所以具有较高值(某些指定参数,如人口)的区域会显示为热点?

google-earth heatmap

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

网站热图如何获得准确的数据?

有像crazyegg.com这样的服务可以向您显示访问者在您的网页上放置鼠标光标的位置.我的问题是,鉴于人们有不同的屏幕宽度,他们怎么能确定我的x坐标与另一个人x坐标在页面上的位置相同?意思是,两个人可能有相同的鼠标x坐标,但由于屏幕的宽度不同,他们的鼠标将位于网页的不同部分.

如何创建一个考虑到这一点的网页热图服务,并且可以在不同内容大小的多个不同网站上进行缩放和使用?

javascript analytics heatmap

10
推荐指数
1
解决办法
1110
查看次数

如何在没有外部依赖性的情况下在Ruby中生成图像?

我想在我的Rails应用程序之外使用我自己的数据在Google地图上实现热图.为此,我需要根据我的数据为每个地图坐标(平铺)生成叠加图像.

我发现如何使用ImageMagick生成它,但我不想依赖于此,因为我计划在几个地方分发我的应用程序,所以我想只使用Ruby语言.

请注意,我只需要在一个小的透明方块上绘制不同颜色的点.

ruby maps ruby-on-rails image heatmap

10
推荐指数
1
解决办法
5385
查看次数

创建一个热图,其中数据中包含NaN值

我正在尝试使用该heatmap.2包创建热图.我的数据中有很多NaN值,我想做的是以下内容.每次有NaN值时,只需将单元格颜色设置为浅灰色(或其他一些中性颜色,可能是白色),然后将所有其他值(即log2表达式)设置为标准绿色/黄色/红色着色方案.这是我使用的代码:

heatmap.2(as.matrix(foo2[rowSums (abs(foo2)) != 0,]),
          col = redgreen,
          margins = c(12, 22),
          trace = "none", 
          xlab = "Comparison",
          lhei = c(2, 8),
          scale = c("none"),
          symbreaks = min(foo2 = 0, na.rm = TRUE),
          na.color = "blue",
          cexRow = 0.5,
          cexCol = .7,
          main = "DE geness",
          Colv = F)
Run Code Online (Sandbox Code Playgroud)

当没有NaN值时NaN,这很有效,但是当数据有时,我收到的错误是:

Error in hclustfun(distfun(x)) : 
  NA/NaN/Inf in foreign function call (arg 11)
Run Code Online (Sandbox Code Playgroud)

从本质上讲,我想让它忽略NaN数据中的's'.我不知道如何处理这个问题.任何帮助将不胜感激.

r heatmap gplots

10
推荐指数
2
解决办法
2万
查看次数

如何使用png设备为heatmap.2绘图添加更多边距?

我有以下示例数据:

sel = structure(c(1.29955, 2.52295, 1.11021, 2.52008, 8.20255, 8.50118, 
                  5.82189, 5.8108, 1.55928, 8.2552, 5.25119, 5.55055, 1.22525, 
                  3.152, 3.9299, 5.50921, 5.25591, 5.11218, 1.55951, 2.5525, 
                  9.2358, 2.0928, 5.2538, 2.5539, 8.52592, 2.59521, 5.55858, 
                  5.92955, 2.22089, 1.52105), 
         .Dim = c(10L, 3L), .Dimnames = list(c("a", "b", 
         "c", "d", "e", "f", "g", "h", 
         "i", "j"), c("Label.1", "Label.2", "Label.3")))
Run Code Online (Sandbox Code Playgroud)

我使用此代码绘制图形:

col = c("#FF0000", "#FF0000", "#FF0000")
par(mar=c(7,4,4,2)+0.1) 
png(filename='test.png', width=800, height=750)
heatmap.2(sel, col=redgreen(75), scale="row", ColSideColors=col,
          key=TRUE, symkey=FALSE, density.info="none", trace="none")
graphics.off()
Run Code Online (Sandbox Code Playgroud)

这给了我这个热图:

在此输入图像描述

如您所见,x轴标签被切断.我试图使par(mar=c(7,4,4,2)+0.1)(从默认值par(mar=c(5,4,4,2)+0.1))更大的边距,但这不会改变标签被切断的方式.

我试图改变lmat, …

png r margins heatmap

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

如何删除调色板颜色热图

可以删除热图调色板(右边的小矩形)吗?

这是我的数据

    a       b       c   
1   181 80  121 10  34 20
2   18 20   17 20   13 20
3   12 20   5 30    20 20
Run Code Online (Sandbox Code Playgroud)

这是我的gnuplot脚本

set term pos eps font 20
unset key
set nocbtics
set palette rgbformulae -7, 2, -7
set title "Faults"

set size 1, 0.5
set output 'heatmap2.eps'
YTICS="`awk 'BEGIN{getline}{printf "%s ",$1}' 'data2.dat'`"
XTICS="`head -1 'data2.dat'`"
set for [i=1:words(XTICS)] xtics ( word(XTICS,i) i-1 )
set for [i=1:words(YTICS)] ytics ( word(YTICS,i) i-1 )

set for [i=1:words(XTICS)] …
Run Code Online (Sandbox Code Playgroud)

gnuplot heatmap

10
推荐指数
1
解决办法
1万
查看次数

使用R计算热图中的箱柜数

这个问题来自以下两个主题:

如何使用stat_bin2d()来计算ggplot2中的计数标签?

如何在r中的热图单元格中显示数值单元格值

在第一个主题中,用户想要使用stat_bin2d生成热图,然后想要在热图上写入每个bin的计数.用户最初想要使用的方法不起作用,这是表明stat_bin2d设计为使用geom ="rect"而不是"text"的最佳答案.没有给出令人满意的答复.

第二个问题几乎与第一个问题相同,但有一个关键的区别,即第二个问题中的变量是文本,而不是数字.答案产生了所需的结果,将bin的计数值放在stat_2d热图中的bin上.

为了比较我准备以下代码的两种方法:

    library(ggplot2)
    data <- data.frame(x = rnorm(1000), y = rnorm(1000))
    ggplot(data, aes(x = x, y = y))
      geom_bin2d() + 
      stat_bin2d(geom="text", aes(label=..count..))
Run Code Online (Sandbox Code Playgroud)

我们知道这首先给你错误:

"错误:geom_text需要以下缺失的美学:x,y".

与第一个问题中的问题相同.有趣的是,从stat_bin2d更改为stat_binhex可以正常工作:

    library(ggplot2)
    data <- data.frame(x = rnorm(1000), y = rnorm(1000))
    ggplot(data, aes(x = x, y = y))
      geom_binhex() + 
      stat_binhex(geom="text", aes(label=..count..))
Run Code Online (Sandbox Code Playgroud)

这是伟大的,但一般来说,我不认为十六进制binning是非常清楚的,并且为了我的目的,我不会为我想要的数据工作.我真的想使用stat_2d.

为了实现这一点,我根据第二个答案准备了以下工作:

    library(ggplot2)
    data <- data.frame(x = rnorm(1000), y = rnorm(1000))
    x_t<-as.character(round(data$x,.1))
    y_t<-as.character(round(data$y,.1))
    x_x<-as.character(seq(-3,3),1)
    y_y<-as.character(seq(-3,3),1)
    data<-cbind(data,x_t,y_t)



    ggplot(data, aes(x = x_t, y = y_t)) +
      geom_bin2d() + 
      stat_bin2d(geom="text", aes(label=..count..))+
      scale_x_discrete(limits =x_x) …
Run Code Online (Sandbox Code Playgroud)

r heatmap ggplot2

10
推荐指数
1
解决办法
3970
查看次数

geom_tile单色为0,然后是色标

我想制作一个热图,其中颜色托盘为绿色到红色,但0的值为白色.我开始使用基于因子的不同高填充颜色的geom_tile热图,以及其他SO,但是不能完全得到我需要的东西.例如,使用以下数据库:

df <- data.frame(expand.grid(1:10,1:10))
df$z <- sample(0:10, nrow(df), replace=T)
Run Code Online (Sandbox Code Playgroud)

我可以创建这个情节:

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_gradient(low = "green", high = "red")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 但我希望等于零的值为白色.所以这部分在那里:

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_gradient(low="green", high="red", limits=c(1, 10))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

而白色为0,但我失去了绿色到红色:

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_gradient(low = "white", high = "red")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

而且我根本不能使用brewer scale(尽管我认为我错过了一些基于错误的简单).

ggplot(df,aes(x = Var1,y = Var2,fill = z)) + 
  geom_tile() + 
  scale_fill_brewer("Greens")
Run Code Online (Sandbox Code Playgroud)

错误:提供给离散比例的连续值

我应该用NA替换0吗?任何帮助,将不胜感激.

r heatmap ggplot2

10
推荐指数
1
解决办法
9367
查看次数

Seaborn 热图上 y 轴刻度的垂直对齐

我正在绘制 aSeaborn heatmap并且我想将y-axis刻度标签居中,但找不到方法来做到这一点。'va'text 属性似乎在 上不可用yticks()

考虑下

在此处输入图片说明 我想将一周中的几天与一排方块的中心对齐

生成此图的代码

import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

#Generate dummy data
startDate = '2017-11-25'
dateList = pd.date_range(startDate, periods=365).tolist()
df = pd.DataFrame({'Date': dateList,
                'Distance': np.random.normal(loc=15, scale=15, size=(365,))
              })
#set week and day
df['Week'] = [x.isocalendar()[1] for x in df['Date']]
df['Day'] = [x.isocalendar()[2] for x in df['Date']]

#create dataset for heatmap
#group by axis to …
Run Code Online (Sandbox Code Playgroud)

python heatmap seaborn

10
推荐指数
3
解决办法
2万
查看次数

seaborn 热图注释 ValueError:类型为“numpy.str_”的对象的未知格式代码“g”

我想绘制一个seaborn.heatmap并仅注释一些行/列。
所有单元格都有注释的示例:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np


n1 = 5
n2 = 10
M = np.random.random((n1, n2))   

fig, ax = plt.subplots()

sns.heatmap(ax = ax, data = M, annot = True)

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

按照这些示例添加值注释段落),可以将seaborn.heatmap每个单元格的注释作为annot参数传递给数组:

annot :布尔或矩形数据集,可选
如果为 True,则在每个单元格中写入数据值。如果是与数据具有相同形状的类似数组,则使用它来注释热图而不是数据。请注意,DataFrame 将匹配位置,而不是索引。

如果我尝试生成一个数组str并将其作为annot参数传递给,seaborn.heatmap我会收到以下错误:

Traceback (most recent call last):
  File "C:/.../myfile.py", line 16, in <module>
    sns.heatmap(ax = ax, data = M, annot …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib heatmap seaborn

10
推荐指数
1
解决办法
2850
查看次数