我刚刚开始使用cal-heatmap创建一个类似Github的日历(例如,一年中每一天的热图以块为单位).理想情况下,我希望它看起来像这样:
不幸的是,通过我的设置,我不断得到更多的东西:
当前问题是几个月之间的空白,例如,中间存在白色块.我认为这个问题将是与the domain
,the subdomain
,and,and the range
and rowLimit
; 但我不能100%确定应该是什么组合.我试过几个 - 这是我目前的设置:
(function($) {
$(document).ready(function() {
var cal = new CalHeatMap();
cal.init({
start: new Date(2013, 0), // January 1, 2013
maxDate: new Date(),
range: 12,
rowLimit: 7,
domain: "month",
subDomain: "day",
data: "/api/users/1/annotations/",
cellSize: 12
});
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
我很确定这是可能的; 我想问题是,是否可以使用月/年域,以及我需要使用哪些设置来实现它.
编辑2014年1月27日:根据@kamisama的说法,我已经尽可能接近了.这是我目前的设置:
cal.init({
start: oneYearAgo(),
maxDate: new Date(),
range: 1,
rowLimit: 7,
domain: "year",
subDomain: "day",
data: "/api/users/1/annotations/",
cellSize: 10.5
});
Run Code Online (Sandbox Code Playgroud)
哪个可以得到这样的东西:
没有月份标签,也没有星期几的标签.
这与另一个问题有关:绘制加权频率矩阵.
我有这个图形(由R中的代码生成):
#Set the number of bets and number of trials and % lines
numbet <- 36
numtri <- 1000
#Fill a matrix where the rows are the cumulative bets and the columns are the trials
xcum <- matrix(NA, nrow=numbet, ncol=numtri)
for (i in 1:numtri) {
x <- sample(c(0,1), numbet, prob=c(5/6,1/6), replace = TRUE)
xcum[,i] <- cumsum(x)/(1:numbet)
}
#Plot the trials as transparent lines so you can see the build up
matplot(xcum, type="l", xlab="Number of Trials", ylab="Relative Frequency", …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ggplot2生成热图.我找到了这个例子,我基本上试图用我的数据复制,但我遇到了困难.我的数据是一个简单的.csv文件,如下所示:
people,apple,orange,peach
mike,1,0,6
sue,0,0,1
bill,3,3,1
ted,1,1,0
Run Code Online (Sandbox Code Playgroud)
我想制作一个简单的热图,其中水果的名称在x轴上,而人在y轴上.该图应描绘正方形,其中每个正方形的颜色表示所消耗的水果数量.对应的方块mike:peach
应该是最暗的.
这是我用来尝试生成热图的代码:
data <- read.csv("/Users/bunsen/Desktop/fruit.txt", head=TRUE, sep=",")
fruit <- c(apple,orange,peach)
people <- data[,1]
(p <- ggplot(data, aes(fruit, people)) + geom_tile(aes(fill = rescale), colour = "white") + scale_fill_gradient(low = "white", high = "steelblue"))
Run Code Online (Sandbox Code Playgroud)
当我绘制这些数据时,我得到x轴上的水果数和y轴上的人.我也没有得到代表水果数量的颜色渐变.如何在x轴上获取水果的名称,并将人们吃掉的水果数量显示为热图?我在R中获得的当前输出如下所示:
换句话说,我想制作一个热图(或曲面图),其颜色随2个变量的变化而变化.(具体来说,亮度=幅度和色调=相位.)有没有本地方法来做到这一点?类似情节的一些例子:
假设我有这个情节:
ggplot(iris) + geom_point(aes(x=Sepal.Width, y=Sepal.Length, colour=Sepal.Length)) + scale_colour_gradient()
什么是离散色标的正确方法,如下面接受的答案下面显示的图(ggplot stat_bin2d图中的渐变断点)?
ggplot正确识别离散值,并为这些使用离散标度,但我的问题是,如果你有连续数据,你想要一个离散的颜色条(每个方格对应一个值,方块仍然以渐变着色),什么是最好的方法吗?离散/分箱是否应该发生在ggplot之外并作为单独的离散值列放入数据帧中,或者有没有办法在ggplot中进行?我正在寻找的一个例子类似于此处显示的比例:
除了我正在绘制散点图而不是像geom_tile
/ heatmap 这样的东西.
谢谢.
我正在尝试根据单元格中的值创建一个数据表,其单元格是不同的颜色.我可以addtable2plot
通过plotrix
包中的功能实现这一点.该addtable2plot
函数在已存在的图上放置一个表.该解决方案的问题在于我不想要一个情节,只需要表格.
我也看过了这些heatmap
功能.问题是我的表中的一些值是字符,而heatmap
我所知道的函数只接受数字矩阵.此外,我希望我的列名称位于表格的顶部,而不是底部,这似乎不是一个选项.
这是示例代码addtable2plot
.如果我能拿到桌子,填满整个屏幕,那就太好了.
library(plotrix)
testdf<-data.frame(Before=c(10,7,5,9),During=c(8,6,2,5),After=c(5,3,4,3))
rownames(testdf)<-c("Red","Green","Blue","Lightblue")
barp(testdf,main="Test addtable2plot",ylab="Value",
names.arg=colnames(testdf),col=2:5)
# show most of the options including the christmas tree colors
abg<-matrix(c(2,3,5,6,7,8),nrow=4,ncol=3)
addtable2plot(2,8,testdf,bty="o",display.rownames=TRUE,hlines=TRUE,
vlines=TRUE,title="The table",bg=abg)
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我正在研究heatmap.js修复,我想知道是否有人知道是否有可能用<canvas>
2d渲染上下文来实现以下效果.
两个梯度重叠.我现在的问题是:重叠区域加在一起导致比径向渐变中心更高的alpha值,从而显示错误的数据(例如,由于渐变之间的那些添加,热图中的较热区域)
看看下面的要点,通过在控制台中执行它,您可以看到问题.
预期的行为将是:最暗的区域是渐变中心,两个渐变的重叠区域合并但不会加起来.
在看到没有globalCompositeOperations导致预期的行为后,我尝试了这些操作的组合.我认为可能的方式可能如下:
但不幸的是,我没有找到一个有效的组合.我很想听听您的反馈,提前谢谢!
PS:我知道这可以通过手动操作像素来完成,但我想知道是否有更简单,更优雅和更快的解决方案.
我正在尝试使用MATLAB创建热图,但MATLAB程序中的默认函数对我来说没有任何意义.
http://www.mathworks.com/help/bioinfo/ref/heatmap.html
是否有人可以先帮助我标记,以便我可以自己阅读其他功能?或者是否有任何其他程序将具有更友好的用户界面?
HeatMap(Data, ...'RowLabels', RowLabelsValue, ...)
Run Code Online (Sandbox Code Playgroud)
我有一个81*2
矩阵的数据集,我的标签是81*1
x轴和1*2
y轴的单元格.现在我可以成功导入excel数据并使用热图绘制数据,但我很难在HeatMap函数中填充变量.
非常感谢.
请看下面的情节:
我的代码:
> head(data)
X0 X1 X2 X3 X4 X5 X6 X7 X8 X9
NM_001001144 6.52334 9.75243 5.62914 6.833650 6.789850 7.421440 8.675330 12.117600 11.551500 7.676900
NM_001001327 1.89826 3.74708 1.48213 0.590923 2.915120 4.052600 0.758997 3.653680 1.931400 2.487570
NM_001002267 1.70346 2.72858 2.10879 1.898050 3.063480 4.435810 7.499640 5.038870 11.128700 22.016500
NM_001003717 6.02279 7.46547 7.39593 7.344080 4.568470 3.347250 2.230450 3.598560 2.470390 4.184450
NM_001003920 1.06842 1.11961 1.38981 1.054000 0.833823 0.866511 0.795384 0.980946 0.731532 0.949049
NM_001003953 7.50832 7.13316 4.10741 5.327390 2.311230 1.023050 2.573220 1.883740 3.215150 2.483410 …
Run Code Online (Sandbox Code Playgroud) 我正在将数据绘制为Python中的Seaborn热图.我的数据本质上被分为几类,我想在图上有线条来指示这些组在地图上的位置.举个简单的例子,假设我想从文档中修改这个图...
import seaborn as sns; sns.set()
flights = sns.load_dataset("flights")
flights = flights.pivot("month", "year", "passengers")
ax = sns.heatmap(flights, cbar=False)
Run Code Online (Sandbox Code Playgroud)
我想通过制作如下图所示的情节来强调一年中四分之一的比较; 我该怎么办?
heatmap ×10
r ×5
ggplot2 ×3
plot ×3
javascript ×2
matplotlib ×2
calendar ×1
canvas ×1
d3.js ×1
html5-canvas ×1
jquery ×1
matlab ×1
probability ×1
python ×1
seaborn ×1