【发布时间】:2011-08-30 15:16:28
【问题描述】:
这部分与我昨天的question 有关。
这是在 ggplot2 中创建的数据和绘图。
df = data.frame(date=c(rep(2008:2013, by=1)),
value=c(303,407,538,696,881,1094))
ggplot(df, aes(date, value, width=0.64)) +
geom_bar(stat = "identity", fill="#336699", colour="black") +
ylim(c(0,1400)) + opts(title="U.S. Smartphone Users") +
opts(axis.text.y=theme_text(family="sans", face="bold")) +
opts(axis.text.x=theme_text(family="sans", face="bold")) +
opts(plot.title = theme_text(size=14, face="bold")) +
xlab("Year") + ylab("Users (in millions)") +
opts(axis.title.x=theme_text(family="sans")) +
opts(axis.title.y=theme_text(family="sans", angle=90)) +
geom_segment(aes(x=2007.6, xend=2013, y=550, yend=1350), arrow=arrow(length=unit(0.4,"cm")))
是否可以用ggplot2在下图中产生波浪状的趋势线
我在 R 中创建了情节,然后在 Adobe Photoshop 中对其进行了美化,我想知道是否可以直接在 R 中生成曲线。
如果这不能在 ggplot2 中完成,是否有任何特定的 R 包可以完成这项任务?
我不是在问重现图表。那不是问题。仅仅生成趋势线似乎是个问题。
【问题讨论】:
-
线的曲线在数学上是否由条形的值以某种方式确定?我怀疑阴影可以用 ggplot 得到,但应该是数学定义的曲线,末端有一个箭头。
-
@Brian 不,这不是数学确定的。阴影不是很重要,只是线不是直线。
-
如果@Hadley 在这里,我敢打赌他会说他希望这在 ggplot2 中是不可能的。
-
准严肃评论 - 将 R 的输出转储到 illustrator 中,并将图表垃圾添加到您的心脏内容中。它在混乱图表方面比 R 更有效:)
-
次要风格点:定义数据框时,
c(rep(2008:2013, by=1))为您提供与2008:2013完全相同的向量。