相关疑难解决方法(0)

ggplot2:轴上的花括号?

回答最近的可视化问题时,我真的需要大括号来显示轴上的跨度,我无法弄清楚如何在ggplot2中执行此操作.这是情节:

示例情节

而不是刻度线,我真的很喜欢y轴标签"双字母名字的第二个字母",从1到10(红色和蓝色第二个字母的垂直跨度)的支撑.但我不确定如何实现这一目标.x轴可以受益于类似的治疗.

代码在链接的CrossValidated问题中可用(并且对于此示例而言不必要地复杂,因此我不会显示它).相反,这是一个最小的例子:

library(ggplot2)
x <- c(runif(10),runif(10)+2)
y <- c(runif(10),runif(10)+2)
qplot(x=x,y=y) +
  scale_x_continuous("",breaks=c(.5,2.5),labels=c("Low types","High types") )
Run Code Online (Sandbox Code Playgroud)

最小的例子

在这种情况下,对于低类型的(0,1)和对于高类型的(2,3)的大括号将是理想的而不是刻度标记.

我宁愿不使用,geom_rect因为:

  • 刻度线将保留
  • 我更喜欢大括号
  • 它将在情节内而不是在它之外

我怎么做到这一点?完美的答案是:

  • 一个漂亮,光滑,薄的花括号
  • 在绘图区外绘制
  • 通过高级参数指定(理想情况下是传递给breaks选项的范围类型对象scale_x_continuous)

r ggplot2

17
推荐指数
4
解决办法
7145
查看次数

在ggplot2中创建部分虚线

我在R中创建一个图,需要创建一条线,其中一些值是投影.投影用虚线表示.这是代码:

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")))
Run Code Online (Sandbox Code Playgroud)

所以我创建了一条从2008年到2013年延伸的生产线.但是,我想要一条从2008年到2011年的实线,以及从2011年到结束的虚线.我只是做两个单独的线段,或者是否有一个单独的命令我可以用来获得所需的结果.

r ggplot2

12
推荐指数
1
解决办法
8224
查看次数

标签 统计

ggplot2 ×2

r ×2