小编Pet*_*ter的帖子

R ggplot2-调整连续色条渐变上的中断之间的距离

我在中创建了一个热图,并ggplot2使用geom_tile映射了值scale_fill_gradientn。色标分为两个渐变。一个梯度将值从0映射到0.05,另一个梯度将值从0.05映射到1。我希望红黄色渐变(0-0.05)具有与黑褐色渐变(0.05-1)相同的高度。

热图

问题:如何修改颜色条,以使值0.05位于条的中间/中央,从而使两个不同的颜色渐变的高度相同?

换句话说,假设0.05刻度线是一个滑块,您可以将其移动到扩展/压缩各个渐变的条的中间。

以下两篇文章讨论了类似的问题,但没有最终解决方案,或者至少没有我可以轻易理解并回答我的问题的解决方案:

非常感谢大家阅读我的问题并思考可能的解决方案。到目前为止,除了在Photoshop中编辑颜色栏外,我什么都找不到。彼得



可重现的示例:

TEST <- read.csv ("https://filetea.me/n3wHRhuy0GlS4xvjQDxs95BVA",header=T,row.names=NULL)

library(ggplot2) 
ggplot(TEST, aes(x=Measure, y=SMTSD))+
    geom_tile(aes(fill=Pval),colour="grey50", size=0.1) +
    scale_x_discrete(expand = c(0,0))+
    coord_equal(ratio=1)+

scale_fill_gradientn(colours=c("red","yellow","black","#996633"),
    values=c(0,0.0499,0.05,1),
    na.value="white", guide="colourbar",
    name="P-value",limits=c(0,1),breaks=c(0,0.05,1))+

 guides(fill = guide_colourbar(barheight = 20, direction = "vertical",
        title.position="top", title.hjust = 0.5,title.vjust = 0.5, nbin = 50))
Run Code Online (Sandbox Code Playgroud)

r heatmap ggplot2

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

将箱形图数据分组,同时将其各自的X轴标签保留在R中的ggplot2中

我正在根据样本类型(x轴)绘制Gene1计数(y轴)的等级.我希望根据它们的原始组织(乳房,结肠直肠,肺)和颜色代码对样本类型进行分组,无论它们分别来自癌症还是来自红色和绿色的正常组织.

我制作了图1)BOXPLOTS WITH FACETS(请参见下文),这与我的愿景很接近,但显示了一些主要问题.我在图表上有一些问题需要改进:

[IMG] http://i57.tinypic.com/10yfmmw.png [/ IMG ]

1)每个方面最终有9个车道(列),其中许多车道没有被箱子占据.如何删除每个方面中未被框占用的通道(列)?

2)我是否可以在不使用构面的情况下绘制此图形,同时仍保留图中所示的分组?

3)是否可以创建两个小平面标签?即我想在现有的facet标签上方放置标签"Gene1".这将使我能够为Gene2生成如下所示的相同图形,因此我可以使用每个图形顶部的"主"构面标签将两个图形彼此相邻.

我希望这是有道理的.谢谢大家的建议和想法.

请参阅以下代码,以便您下载我的数据并重现图表:

测试文件导入

fileURL <- "https://dl.dropboxusercontent.com/u/4098921/testfile.csv"
test <- read.csv(fileURL,header=T)
head(test)


> head(test)
  Subset Tissue        Type id Gene1 Gene2
1 Normal Breast GTEx_Breast  1  5027 12597
2 Normal Breast GTEx_Breast  2  5287 12338
3 Normal Breast GTEx_Breast  3  2385 12543
4 Normal Breast GTEx_Breast  4  3174 12266
5 Normal Breast GTEx_Breast  5  6593 11350
6 Normal Breast GTEx_Breast  6  4648 10932
Run Code Online (Sandbox Code Playgroud)

1)带有FACETS的BOXPLOT

library(ggplot2)
ggplot(test,aes(x=Type, y=Gene1, fill=Subset))+ …
Run Code Online (Sandbox Code Playgroud)

r facet ggplot2

2
推荐指数
1
解决办法
1886
查看次数

标签 统计

ggplot2 ×2

r ×2

facet ×1

heatmap ×1