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/
我目前有一个带有 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/