Tag: ggplot2

在R中控制ggplot2中点的顺序?

假设我在R中的ggplot2中绘制了密集的散点图,其中每个点可以用不同的颜色标记: df <- data.frame(x=rnorm(500)) df$y = rnorm(500)*0.1 + df$x df$label <- c("a") df$label[50] <- "point" df$size <- 2 ggplot(df) + geom_point(aes(x=x, y=y, color=label, size=size)) 当我这样做时,标有“点”(绿色)的散点绘制在标有“a”的红色点上。 什么控制这个在ggplot中的zsorting,即什么控制哪个点在哪个顶部? 例如,如果我想让所有的“a”点位于所有标记为“point”的点上(意思是说它们有时会部分地或完全地隐藏那个点)呢? 这是否依赖于标签的字母数字顺序? 我想find一个解决scheme,可以很容易地转换为rpy2。 谢谢

错误:ggplot2中的stat_count()

在我的许多程序中,我一直使用ggplot2来渲染图表。 我已经将它们加载到shinyapps.io上,它们工作得很好。 但是,当我尝试在我的机器上运行该程序时,出现以下错误: Error : stat_count() must not be used with ay aesthetic. 以下是示例代码: ggplot(hashtg, aes(x=reorder(hashtag, Freq), y = Freq, fill = hashtag)) + geom_bar(stat="identity") + geom_bar(width = 0.4) + xlab("Hashtags Used") + ylab("Number of responses") + geom_text(aes(label=Freq), hjust = 1, colour = "white" ) 实际的代码有很多条形图的参数,如标题,主题和注释,但是我想他们不会妨碍输出。 我使用的是汇总数据,其中代码中的Freq是特定术语的频率。 当我寻求帮助时,我重复得到了使用stat = "identity"作为条形图的指示。 任何帮助将不胜感激。 会话信息如下: R version 3.2.0 […]

自定义轴标签

我有一个简单的geom_point图,其中xvariables是序数,取5个值(编码为1:5)。 在图中,我想用5个相应的文本标签replace它。 有没有可能在ggplot中做到这一点?

ggplot2备忘单

有很多一般的R作弊表 ,但是有没有ggplot2的作弊表?

在绘制geom_bar()时避免ggplot对x轴进行sorting

我有我想用ggplot绘制的以下数据: SC_LTSL_BM 16.8275 SC_STSL_BM 17.3914 proB_FrBC_FL 122.1580 preB_FrD_FL 18.5051 B_Fo_Sp 14.4693 B_GC_Sp 15.4986 我想要做的是做一个条形图并保持条的顺序,(即从SC_LTSL_BM …B_GC_Sp )。 但是ggplot geom_bar的默认行为是对它们进行sorting。 我怎样才能避免呢? library(ggplot2) dat <- read.table("http://dpaste.com/1469904/plain/") pdf("~/Desktop/test.pdf") ggplot(dat,aes(x=V1,y=V2))+geom_bar() dev.off() 目前的数字如下所示:

ggplot结合来自不同data.frames的两张图

我想把两个不同的data.frames的ggplots合并成一个plot。 下面你会find代码。 我想结合情节1和2或情节3和4。 df1 <- data.frame(p=c(10,8,7,3,2,6,7,8), v=c(100,300,150,400,450,250,150,400)) df2 <- data.frame(p=c(10,8,6,4), v=c(150,250,350,400)) plot1 <- qplot(df1$v, df1$p) plot2 <- qplot(df2$v, df2$p, geom="step") plot3 <- ggplot(df1, aes(v, p)) + geom_point() plot4 <- ggplot(df2, aes(v, p)) + geom_step() 这一定很容易做到,但不知何故,我无法得到它的工作。 谢谢你的时间。

在ggplot上添加回归线

我努力在ggplot上添加回归线。 我第一次尝试用abline,但我没有设法使其工作。 然后我试了这个… data = data.frame(x.plot=rep(seq(1,5),10),y.plot=rnorm(50)) ggplot(data,aes(x.plot,y.plot))+stat_summary(fun.data=mean_cl_normal) + geom_smooth(method='lm',formula=data$y.plot~data$x.plot) 但是它也不起作用。

强制R停止绘制缩略轴标签 – 例如ggplot2中的1e + 00

在ggplot2中,我怎样才能停止正在缩写的轴标签 – 例如1e+00, 1e+01 00,1e 1e+00, 1e+01沿x轴绘制? 理想情况下,我想强制R显示在这种情况下将是1,10的实际值。 任何帮助非常感谢。

如何很好地注释ggplot2(手动)

使用ggplot2我通常使用geom_text和类似position=jitter东西来标注我的情节。 但是 – 对于一个好的情节,我经常发现值得手动注释。 如下所示: data2 <- structure(list(type = structure(c(5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L, 5L, 1L, 2L, 4L, 3L), .Label = c("EDS", "KIU", "LAK", "MVH", "NA*"), class = "factor"), value = c(0.9, 0.01, 0.01, 0.09, 0, 0.8, 0.05, 0, 0.15, 0, 0.41, 0.04, 0.03, 0.52, […]

我怎样才能抑制ggplot2阴谋的垂直网格线?

我正在构build一个条形图,其中横条(x)的位置足以表示条形,所以我想避免画出多余的垂直网格线。 我知道如何deviseopts()中的小网格线和主网格线,但是我不能在我的生活中弄清楚如何仅仅抑制垂直网格线。 library(ggplot2) data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4)) ggplot(data, aes(x, y)) + geom_bar(stat = 'identity') + opts( panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'), panel.grid.minor = theme_line(colour = NA), panel.background = theme_rect(colour = NA), axis.ticks = theme_segment(colour = NA) ) 在这一点上,它看起来像我将不得不压制所有的网格线,然后用geom_hline()把它们拉回来,这似乎是一种痛苦(也不完全清楚,我怎么能find蜱/主要网格线位置,以馈给geom_hline()。) 任何想法将不胜感激!