相关疑难解决方法(0)

scale_gradient2中的不对称颜色分布?

更改上限scale_fill_gradient2也会影响值<0的颜色分类,因为0周围的颜色分布似乎总是对称的,是否有办法获得颜色值的不对称分布?

这是一个使用的情节的最小例子geom_tile():

data <- read.csv("http://protzkeule.de/data.csv")
p <- ggplot(data = data, aes(x = variable, y = meas)) + geom_tile(aes(fill = value))
Run Code Online (Sandbox Code Playgroud)

具有对称限制的图:

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.1))
Run Code Online (Sandbox Code Playgroud)

但是当更改上限时,较低的颜色映射也会改变(观察颜色条):

p + scale_fill_gradient2(low = "blue", mid = "white", high = "red", guide = "colorbar",
                         limits = c(-0.1, 0.3))
Run Code Online (Sandbox Code Playgroud)

r colors scale ggplot2

18
推荐指数
1
解决办法
4845
查看次数

如何使用ggplot2生成热图?

我正在尝试使用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中获得的当前输出如下所示:

在此输入图像描述

r heatmap ggplot2

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

标签 统计

ggplot2 ×2

r ×2

colors ×1

heatmap ×1

scale ×1