r ggplot x 轴颜色渐变 labels/values

r ggplot x axis color gradient labels/values

我目前有一个带有 ggplot2 的绘图图,它具有与每个坐标相关联的值,由颜色渐变表示。我的 x 值是有序的,无论如何只为 x 轴标签表达一个单独的渐变? 例如

x    y   z
7.5  55  1000
7.5  20  2000
7.5  10  3000
3    70  2500
3    50  10000
3    25  1300

图形是用 x,z 绘制的,y 是渐变色。我想将颜色渐变分配给 x 轴上的 x 值,如下图所示。

有类似图表的就更好了!

我使用的代码粘贴在下面

plot_data=read.table("Finalfile.txt",sep="\t",header=T)
plot_data=plot_data[,1:8]
#order data according to expression followed by gene id
order_data=plot_data[order(plot_data$exp,plot_data$gene,decreasing=TRUE),]

#convert gene ids to numeric, same number for each gene id
plot_data=transform(plot_data,id=as.numeric(factor(gene)))

#x y plot 
ggplot(plot_data, aes(gene, TSS, colour=met)) +
  geom_point(shape=15) + ylim(0,10000)+
  scale_colour_gradient(low="blue", high="red")+theme(axis.text.x = element_text(angle = 90, hjust = 1))

我将你的请求解释为你想展示数据在 x 轴上的分布。

我认为这会有所帮助。

require(ggplot2)
library(gridExtra)

x   <- c(7.5 ,7.5 ,7.5 ,3 ,3 ,3 )
z   <- c(1000,2000,3000,2500,10000,1300)
y   <- c(55  ,20  ,10  ,70  ,50  ,25  )

data <- data.frame(x,z,y)

main <-ggplot (data, aes( x = x, y = z, colour = y))+
    geom_point() +
    scale_color_gradient(limits = c(0, max(y)))+
    theme(legend.position=c(1,1),legend.justification=c(1,1))

density.x <- ggplot(data, aes(x), fill = "blue")+        
        geom_density(width = c(0, max(y)),  alpha = 0.5,binwidth =1,  position   = 'identity', fill = "blue")

grid.arrange(density.x,  main, ncol = 1, nrow =2 , heights= c(1,4))

这并没有提供您最初要求的颜色,但仍然传达了相同的信息。您可以针对不同的表示尝试不同的 geom。

有关主题的进一步扩展,请参阅此处:http://www.r-bloggers.com/ggplot2-cheatsheet-for-visualizing-distributions/