3

ggplotlyggplot图表上使用时出现问题。这基本上与这里的问题完全相同。但是,如果情节没有分面,则提供的解决方案不起作用,因为gp[['x']][['layout']][['annotations']]在这种情况下不存在应该更改的对象。(不幸的是,我没有足够的声誉来发表评论,因此我必须将此问题作为一个新问题提出。)结果,我找不到如何在非多面图中调整 y 轴标题位置。这是另一个问题的工作示例

library(gapminder)
library(plotly)
p <- ggplot(gapminder, aes(x = gdpPercap, y = lifeExp)) + 
  geom_point() + 
  scale_x_log10()
p <- p + aes(color = continent) + facet_wrap(~year)
gp <- ggplotly(p)
gp[['x']][['layout']][['annotations']][[2]][['x']] <- -0.1
gp %>% layout(margin = list(l = 75))

这是非工作对应物:

p <- ggplot(gapminder, aes(x = gdpPercap, y = lifeExp)) + 
  geom_point() + 
  scale_x_log10()
gp <- ggplotly(p)
gp[['x']][['layout']][['annotations']][[2]][['x']] <- -0.1
gp %>% layout(margin = list(l = 75))

(注意:在这个特定的例子中,轴标题和轴标签之间没有重叠,但是我想指出一个事实,即轴标题重新定位在同一个例子中不起作用。)

4

1 回答 1

4

这是解决您问题的技巧:

library(gapminder)
library(plotly)

gapminder$grp <- ""
p <- ggplot(gapminder, aes(x = gdpPercap, y = lifeExp)) + 
  geom_point() + 
  scale_x_log10() + 
  facet_wrap(~grp)
gp <- ggplotly(p) 
gp[['x']][['layout']][['annotations']][[2]][['x']] <- -0.1
gp %>% layout(margin = list(l = 75))
于 2017-11-10T17:42:02.357 回答