2

在试图以明显的方式得到这个问题的答案时,我遇到了一个相当意外的错误。我尝试axis.line使用功能在主题中设置选项opts(),尝试使用更新它theme_update(),但都无济于事。每次尝试时,我都会遇到相同的错误:

Error in validDetails.polyline(x) : 
  It is invalid to specify both 'id' and 'id.lengths'

给出此错误的一些示例代码:

require(ggplot2)

Data <- data.frame(autos=c(
  sample(1:4,8,TRUE),
  sample(6:9,4,TRUE),
  11,18
  ))

ggplot(Data,aes(autos)) + 
  geom_histogram(fill='lightblue',colour="black",binwidth=5) +
  opts(axis.line=theme_line(), panel.border=theme_blank())

知道我在忽略什么吗?

4

1 回答 1

2

https://github.com/hadley/ggplot2/wiki/-opts()-List上的 ggplot2 wiki包含有用的信息。

描述了每个选项,以及它需要的主题类型。从这个页面:

...
axis.title.y (text)
axis.line (segment)
...

因此,theme_segment在您的选择中使用:

ggplot(Data,aes(autos)) + 
  geom_histogram(fill='lightblue',colour="black",binwidth=5) +
  opts(axis.line=theme_segment(), panel.border=theme_blank())

在此处输入图像描述

于 2012-05-30T09:55:40.203 回答