作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
到处都找不到我要问的问题,可能是关键词错误。本质上,我在矩阵中有 3 个维度:
> head(info)
[,1] [,2] [,3]
[1,] 8.59645 251944 22.89
[2,] 6.95160 141559 21.35
[3,] 7.43870 131532 22.99
[4,] 8.64467 126688 22.72
[5,] 8.77482 123120 22.17
[6,] 7.22364 122268 24.46
我正在绘制 info[,3] 与 info[,2] 的对比
plot(info[,3], info[,2], type="p", pch=20)
我想用基于信息 [,1] 的热图为这些点着色。
我可以做这样的事情:
plot(info[which(info[,1] <= 2),3], info[which(info[,1] <= 2),2], type="p", pch=20, col="black")
lines(info[which(info[,1] >= 2),3], info[which(info[,1] >= 2),2], type="p", pch=20, col="red")
但我相信热图会更好看。
有什么想法吗?谢谢,阿德里安
解决方案:谢谢大家的精彩建议!这是有效的:
qplot(info[,3], info[,2], colour=info[,1]) + scale_colour_gradient(limits=c(0, 10), low="green", high="red")
最佳答案
使用 ggplot2
您可以通过第三个变量着色
## Some sample data
set.seed(0)
x <- rnorm(1000, rep(c(20, 60), each=500), 8)
y <- c(rexp(500, 1/5e4)*1/(abs(x[1:500]-mean(x[1:500]))+runif(1)),
rexp(500, 1/5e3)*1/(abs(x[501:1000]-mean(x[501:1000]))+runif(1)))
z <- c(sort(runif(1000)))
info <- matrix(c(z,y,x), ncol=3)
## Using ggplot
ggplot(as.data.frame(info), aes(V3, V2, col=V1)) +
geom_point(alpha=0.5) +
scale_color_gradient(low="red", high="yellow")
如果你想制作热图,你可以使用 akima
包在你的点之间进行插值,然后做,
library(akima)
dens <- interp(x, y, z,
xo=seq(min(x), max(x), length=100),
yo=seq(min(y), max(y), length=100),
duplicate="median")
filled.contour(dens, xlab="x", ylab="y", main="Colored by z",
color.palette = heat.colors)
关于r - 绘制常规二维图,但添加第三维作为热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31896051/
我正在尝试创建一个绘图来显示水平面上的温度梯度。我能够降低颜色,但它并没有按照我需要的方式进行插值。 This question有助于创建情节。似乎在制作情节时这些点的权重不相等。 This是图表当前
我想为我的句子列表绘制一个二维图,其中 x 轴作为术语,y 轴作为 TFIDF 分数(或文档 ID)。我使用 scikit learn 的 fit_transform() 来获取 scipy 矩阵,但
我是一名优秀的程序员,十分优秀!