Tag: ggplot2

ggplot2 – 抖动和位置一起闪避

我试图从GGplot2研讨会http://dl.dropbox.com/u/42707925/ggplot2/ggplot2slides.pdf重新创build一个数字。 在这种情况下,我试图生成示例5,抖动数据点受到闪避。 当我运行代码时,点以正确的线为中心,但没有抖动。 这是直接从演示文稿的代码。 set.seed(12345) hillest<-c(rep(1.1,100*4*3)+rnorm(100*4*3,sd=0.2), rep(1.9,100*4*3)+rnorm(100*4*3,sd=0.2)) rep<-rep(1:100,4*3*2) process<-rep(rep(c("Process 1","Process 2","Process 3","Process 4"),each=100),3*2) memorypar<-rep(rep(c("0.1","0.2","0.3"),each=4*100),2) tailindex<-rep(c("1.1","1.9"),each=3*4*100) ex5<-data.frame(hillest=hillest,rep=rep,process=process,memorypar=memorypar, tailindex=tailindex) stat_sum_df <- function(fun, geom="crossbar", …) {stat_summary(fun.data=fun, geom=geom, …) } dodge <- position_dodge(width=0.9) p<- ggplot(ex5,aes(x=tailindex ,y=hillest,color=memorypar)) p<- p + facet_wrap(~process,nrow=2) + geom_jitter(position=dodge) +geom_boxplot(position=dodge) p

如何使用图像作为ggplot中的一个点?

有没有什么方法可以使用特定的小图像作为散点图与ggplot2中的一个点。 理想情况下,我想要根据variables调整图像大小。 这是一个例子: library(ggplot2) p <- ggplot(mtcars, aes(wt, mpg)) p + geom_point(aes(size = qsec, shape = factor(cyl))) 所以我基本上想知道是否有办法提供一个特定的形象作为形状?

R:多层ggplot的自定义图例

我试图得到一个ggplot自定义传说与数据来自两个单独的数据框。 请参阅下面的重现性示例。 我试图完成的是有一个描述丝带填充,黑线和红线的图例。 require(ggplot2) x=seq(1,10,length=100) data=data.frame(x,dnorm(x,mean=6.5,sd=1)) names(data)=c('x','new.data') x.ribbon=seq(1,10,length=20) ribbon=data.frame(x.ribbon, dnorm(x.ribbon,mean=5,sd=1)+.01, dnorm(x.ribbon,mean=5,sd=1)-.01, dnorm(x.ribbon,mean=5,sd=1)) names(ribbon)=c('x.ribbon','max','min','avg') ggplot()+geom_ribbon(data=ribbon,aes(ymin=min,ymax=max,x=x.ribbon),fill='lightgreen')+ geom_line(data=ribbon,aes(x=x.ribbon,y=avg),color='black')+ geom_line(data=data,aes(x=x,y=new.data),color='red')+ xlab('x')+ylab('density')

在facet_wrap图中添加“浮动”轴标签

我与这个用户有同样的问题 – 我有一个“锯齿状”的小平面图,其中最下面一排的面板比其他行less,我希望每列的底部都有x轴刻度。 build议的解决scheme是设置scales="free_x" 。 (在ggplot 0.9.2.1;我相信我所寻找的行为在早期版本中是默认的)。在我的情况下,这是一个糟糕的解决scheme:我的实际轴标签将会相当长,所以把它们放在每一行下方将占用太多房间。 结果是这样的: x <- gl(3, 1, 15, labels=paste("this is a very long axis label ", letters[1:5])) y <- rnorm(length(x)) l <- gl(5, 3, 15) d <- data.frame(x=x, y=y, l=l) ggplot(d, aes(x=x, y=y)) + geom_point() + facet_wrap(~l, scales="free_x") + theme(axis.text.x=element_text(angle=90, hjust=1)) 在这里的评论中,Andriebuild议可以通过grid手动完成,但我不知道如何开始。

ggplot2中更简单的人口金字塔

我想用ggplot2创build一个人口金字塔。 这个问题之前被问到过 ,但我相信解决scheme一定要简单得多。 test <- (data.frame(v=rnorm(1000), g=c('M','F'))) require(ggplot2) ggplot(data=test, aes(x=v)) + geom_histogram() + coord_flip() + facet_grid(. ~ g) 产生这个图像。 在我看来,创build人口金字塔的唯一步骤就是将第一个方面的x轴倒置,以便从50到0,而保持第二个方面不变。 谁能帮忙?

增加轴刻度的数量

我正在为某些数据生成图表,但滴答的数量太小,我需要读取更精确 。 有没有办法增加在ggplot2轴蜱的数量? 我知道我可以告诉ggplot使用vector作为坐标轴,但是我想要的是增加所有数据的滴答数。 换句话说,我想从数据中计算滴答数。 可能ggplot做一些内部algorithm,但我找不到它是如何做,根据我想要改变。

在ggplot2中旋转和间隔轴标签

我有一个情节,其中X轴是标签很长的因素。 虽然可能不是一个理想的可视化,现在我想旋转这些标签是垂直的。 我已经用下面的代码弄清楚了这一部分,但正如你所看到的那样,标签并不是完全可见的。 data(diamonds) diamonds$cut <- paste("Super Dee-Duper",as.character(diamonds$cut)) q <- qplot(cut,carat,data=diamonds,geom="boxplot") q + opts(axis.text.x=theme_text(angle=-90))

发生数据丢失时geom_bar的宽度一致

有没有办法在下面的时间序列例子中丢失数据时为geom_bar()设置一个固定的宽度? 我已经尝试在aes()设置width ,但没有运气。 比较2011年5月11日至6月11日在代码示例下方的阴影宽度。 colours <- c("#FF0000", "#33CC33", "#CCCCCC", "#FFA500", "#000000" ) iris$Month <- rep(seq(from=as.Date("2011-01-01"), to=as.Date("2011-10-01"), by="month"), 15) colours <- c("#FF0000", "#33CC33", "#CCCCCC", "#FFA500", "#000000" ) iris$Month <- rep(seq(from=as.Date("2011-01-01"), to=as.Date("2011-10-01"), by="month"), 15) d<-aggregate(iris$Sepal.Length, by=list(iris$Month, iris$Species), sum) d$quota<-seq(from=2000, to=60000, by=2000) colnames(d) <- c("Month", "Species", "Sepal.Width", "Quota") d$Sepal.Width<-d$Sepal.Width * 1000 g1 <- ggplot(data=d, aes(x=Month, y=Quota, color="Quota")) + […]

如何使用具有双y轴ggplot的构面

我一直试图从这里扩展我的scheme,以利用方面(特别是facet_grid() )。 我已经看到这个例子 ,但是我似乎无法得到它为我的geom_bar()和geom_point()组合。 我试图使用从facet_wrap更改为facet_wrap的示例代码,这似乎也使第一个层不显示。 当谈到栅格和栅格时,我是一个新手,所以如果有人能够给出一些指导,让我们看看如何让P1显示左边的y轴,P2显示在右边的y轴上,那将是非常棒的。 数据 library(ggplot2) library(gtable) library(grid) library(data.table) library(scales) grid.newpage() dt.diamonds <- as.data.table(diamonds) d1 <- dt.diamonds[,list(revenue = sum(price), stones = length(price)), by=c("clarity","cut")] setkey(d1, clarity,cut) p1&p2 p1 <- ggplot(d1, aes(x=clarity,y=revenue, fill=cut)) + geom_bar(stat="identity") + labs(x="clarity", y="revenue") + facet_grid(. ~ cut) + scale_y_continuous(labels=dollar, expand=c(0,0)) + theme(axis.text.x = element_text(angle = 90, hjust = 1), axis.text.y […]

将颜色和形状的图例组合成一个图例

我从2 x 2研究devise创buildggplot情节,并希望使用2种颜色和2个符号来分类我的4个不同的治疗组合。 目前我有2个传说,一个是颜色,一个是两个形状。 我怎样才能将它们组合成一个单独的图例,所以我有一个蓝色圆圈,一个红色圆圈,一个蓝色三angular形和一个读取三angular形? 一些数据: state1 <- c(rep(c(rep("N", 7), rep("Y", 7)), 2)) year <- rep(c(2003:2009), 4) group1 <- c(rep("C", 14), rep("E", 14)) group2 <- paste(state1, group1, sep = "") beta <- c(0.16,0.15,0.08,0.08,0.18,0.48,0.14,0.19,0.00,0.00,0.04,0.08,0.27,0.03,0.11,0.12,0.09,0.09,0.10,0.19,0.16,0.00,0.11,0.07,0.08,0.09,0.19,0.10) lcl <- c(0.13,0.12,0.05,0.05,0.12,0.35,0.06,0.13,0.00,0.00,0.01,0.04,0.20,0.00,0.09,0.09,0.06,0.06,0.07,0.15,0.11,0.00,0.07,0.03,0.05,0.06,0.15,0.06) ucl <- c(0.20,0.20,0.13,0.14,0.27,0.61,0.28,0.27,0.00,1.00,0.16,0.16,0.36,0.82,0.14,0.15,0.13,0.13,0.15,0.23,0.21,0.00,0.15,0.14,0.12,0.12,0.23,0.16) data <- data.frame(state1,year,group1,group2,beta,lcl,ucl) 情节: library(ggplot2) pd <- position_dodge(.65) ggplot(data = data, aes(x = year, y = […]