goc*_*ack 5 r ggplot2 facet-wrap shiny
我正在使用ggplot和facet_wrap来获取所需的图.我必须在每个方面的标签或每个方面的变量或名称上添加一些东西,就像我们如何直接在ggplot下修改xlab和ylab一样.
例:
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1)
d + facet_wrap(~ color)
Run Code Online (Sandbox Code Playgroud)
我现在要做的就是将每个方面的标签i,e D,E,F,G,H,I,J更改为其他内容.
我怎么修改这个?
加成
对不起,我试图打破它但是,这需要时间,所以我在github中添加它.您可以上传文件并检查结果.问题在于选项4 facet_wrap ...您可以选择单选按钮选项4.
我已经评论过我在数据完整性正常的前面使用的facet_wrap,但是如果我更改了facet包装,那么图表的行为也会不同,而且数据也是如此.
要上传的数据可以在"要上传的数据"文件夹中找到
代码可以在这里找到:我将在一分钟内添加它
尽管这是一个非常古老的问题,但我想回答一个问题,因为我学会了一种简单的方法!
此解决方案与facet_wrap()一起使用,并且也不会以任何方式更改您的数据。
text.on.each.panel <-"_new"
d <- ggplot(diamonds, aes(carat, price)) +
xlim(0, 2)
d + facet_wrap(~ color, labeller = label_bquote(.(color)-.(text.on.each.panel)))
Run Code Online (Sandbox Code Playgroud)
根据我所知,facet_grid
在这种情况下可能是更好的解决方案.facet_grid
不仅可以帮助您按一个变量对图表进行分组,还可以帮助您对两个甚至更多的变量进行分组,还有一个名为labeller
自定义标签的参数.
myfunction <- function(var, string) {
print(var)
print(string)
result <- paste(as.character(string),'_new', sep="")
return(result)
}
ggplot(diamonds, aes(carat, price, fill = ..density..)) + xlim(0, 2) +
stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1) + facet_grid(~color, labeller=myfunction, as.table=TRUE)
# OUTPUT
[1] "color"
[1] D E F G H I J
Levels: D < E < F < G < H < I < J
Run Code Online (Sandbox Code Playgroud)
但是,正如您所看到的,绘图是一行的,即使您as.table
根据此处打开标记,我也认为它不容易分成多行.
如果添加专用于标记的新专栏,您认为这是否可行?然后你可以保持facet_wrap
... 的真棒
diamonds$label <- paste(as.character(diamonds$color), "_new", sep="")
ggplot(diamonds, aes(carat, price, fill = ..density..)) + xlim(0, 2) +
stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1) + facet_wrap(~label)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11065 次 |
最近记录: |