我想利用新GGPLOT2(开发版)的功能,使我的剧情互动。我也有安装plotly-dev的版本。
但是,对我来说这似乎是如许它不工作。考虑这一点,
gg <- ggplot(data = mtcars, aes(x = factor(mtcars$cyl), y = mtcars$hp)) +
geom_boxplot(aes(fill = factor(mtcars$cyl), color = factor(mtcars$cyl), alpha = 1/2 ))
gg
ggplotly(gg)
如果你发现,你会看到离群值在ggploty不同的标记()。我怎样才能摆脱这一点,所以它看起来“相同”作为ggplot(第一图)?
然后,我怎么能在ggplotly添加/编辑传说。
这是一个有点尴尬后,一年多来回答。但希望它有助于对任何人搜索同样的问题后,我最近碰到类似的问题来了(当我无法隐藏离群点geom_boxplot)。
参照R或Python plotly箱线图,你可能有boxpoints
这些c('all', False, 'suspectedoutliers','outliers')
之一,显示异常的不同方式。当选择'suspectedoutliers'
,你可以调整标记的风格。这里,差异来自标记线外。
我还没有找到一种方法来轻松地做到这一点在ggplotly
还,但它使用plotly_build
一些努力是可行的。 (你会深入到结构它存储的数据)
第一,
gg <- ggplot(data = mtcars, aes(x = factor(mtcars$cyl), y = mtcars$hp)) +
geom_boxplot(aes(fill = factor(mtcars$cyl), color = factor(mtcars$cyl), alpha = 1/2 ))
ggly <- plotly_build(gg)
你可以看看ggly$x$data
。您可能会看到的3个项目,分别对应于图3盒列表。
下一个,
for (i in 1:length(ggly$x$data)) {
# ggly$x$data[[i]]$boxpoints <- "outliers"
ggly$x$data[[i]]$marker$line <- NULL
ggly$x$data[[i]]$line$width <- 1
}
rm(i)
ggly
因为它不具有$boxpoints
参数,并有对标记和线的参数,我去掉了标记线外,然后改变框的线的宽度。这将解决这个异常的外观。如果你也想解决的传说,也许你可以检查$legendgroup
,但是,我没有一个很好的解决方案呢。
顺便说一句,如果有人正在寻找一种方法来隐藏/禁用像in geom_boxplot波动,您可以通过它的不透明度设置为0使用'suspectedoutliers'
和风格离群值(我为了以后绘制抖动的另一层这样做。)
for (i in 1:length(ggly$x$data)) {
ggly$x$data[[i]]$boxpoints <- "suspectedoutliers"
ggly$x$data[[i]]$marker$opacity <- 0
}
rm(i)
ggly
再次,希望它帮助。