我在ggplot图表中有一个颜色条,范围从白色到红色,白色边框在白色背景上看不太清楚.
有没有办法以不同方式为图例中的刻度线着色或在渐变刻度周围添加边框?
这是一个最小的例子:
df <- data.frame(x <- rnorm(10),
y <- rnorm(10),
fill <- rnorm(10))
ggplot(df, aes(x, y, fill = fill)) +
geom_point() +
scale_fill_gradient(low = 'white', high = 'red')
Run Code Online (Sandbox Code Playgroud)
我试图绘制并保存我的矩阵使用image()没有轴,标签,边距等.我需要的只是纯彩色图像,其中单元格的数量将对应于保存的绘图上的像素数.在R图形设备上它看起来很好,但是如果我将绘图保存到文件中,那么在图像的底部和右侧始终存在一个像素宽的白色边距.我尝试了所有格式但没有成功.我正在使用GIMP进行图像处理.
示例代码:
png("heatmap.png",w=400,h=400)
par(mar = c(0,0,0,0))
require(grDevices) # for colours
x <- y <- seq(-4*pi, 4*pi, len=400)
r <- sqrt(outer(x^2, y^2, "+"))
image(z = z <- cos(r^2)*exp(-r/6), col=gray((0:32)/32),axes = FALSE)
dev.off()
Run Code Online (Sandbox Code Playgroud) 有没有办法对ggplot2 的facet_grid 中的facet 的名称或条形背景进行着色(不是实际网格的背景,正如这篇文章中所回答的: Conditionally Change panel background with facet_grid? )?
在以下示例中:
#create simple dataframe for plotting
xy <- data.frame(x = rep(1:10, times=3), y = rep(10:1, times=3), type = rep(LETTERS[1:2], each=5), type2 = rep(LETTERS[3:5], each=10), category = rep(c("control", "exp", "control"), each=10))
xy
#create base plot
plot <- ggplot(data = xy)+
geom_point(aes(x = x, y = y))+
facet_grid(type ~ type2)
#plot base plot
plot
Run Code Online (Sandbox Code Playgroud)
有没有办法根据分类变量(例如,我在上面指定的数据框中的“类别”,因此所有控件都有一个红色条,所有的 exp - 一个绿色条)?
提前致谢!
PS我实际上想做的是展示生物实验的结果:
每个基因的两个箱线图以显示变异性;基因名称在条带中
网格的背景是白色或灰色,灰色显示作为对照的基因
我想使用标题中文本的颜色来表示该基因在我的实验中是否重要(我需要在同一图中显示经过验证的基因和未经验证的基因)