所以我知道有很多关于这个问题的帖子(我想我此时已经全部阅读过)。在学习了hjust / vjust之后,我尝试使用hjust和margin()是hacks并且没有任何工作;无论我做什么,ggplot标题仍保持中心对齐。我需要它左对齐。这可能吗?它与我当前代码的布局有关吗?有人可以帮忙吗?!代码如下。非常感谢你提前! :)
另外,除了上述问题之外,是否可以将标题文本放在彩色框内?例如,嵌入黑盒内的白色文本?
再次感谢!
output$plot <- renderPlotly({
if(input$Player == "")
return(NULL)
player_trend <- injury[injury$Player == input$Player, ]
ggideal_point <- ggplot(player_trend) +
geom_line(aes(x = Season, y = WAR), size = 1.25) +
geom_point(aes(x = Season, y = WAR), size = 3) +
labs(x = "Season", y = "WAR") +
ggtitle("Title Goes Here") +
答案 0 :(得分:2)
您没有提供任何数据,也没有提供错误和可能需要的输出的图片,并且实际上已经提出了多个问题。
你正在寻找以ggplot2
为后期的操作 - 构建grob级别。这是一些严重低级别的工作。
此:
#' Completely flush-left-align ggplot2 title
#'
#' @return \code{gtable} object
#' @param gg ggplot2 object
title_left <- function(gg) {
gt <- ggplot_gtable(ggplot_build(gg))
gt$layout[which(gt$layout$name == "title"), c("l", "r")] <- c(1, max(gt$layout$r))
gt
}
flush-left(完全)对齐标题。它不再是ggplot2
对象,您需要使用grid
函数来绘制它(例如grid::grid.newpage()
和grid::grid.draw()
)。如果你想要它不完全冲洗左,你需要调整功能。
对于你过于深入的第二个问题,你需要使用这样的东西 - https://stackoverflow.com/a/37156845/1457051 - 然后改变上面的功能,将facet title和rect grobs移位(我和#39;我不会这样做,但这里的其他人可能会为你做。)
无论其
你不在ggplot2
- 土地,你在shiny
并使用plotly
所以这一切都没有实际意义。请注意,您实际上没有告诉我们但output$plot <- renderPlotly({
暗示了它。你讽刺的是,你对互动的渴望会限制你的选择。 plotly
对于快速互动来说非常棒,但是您花在创建自己的htmlwidget
上的时间比尝试将解决方案变为plotly
所花费的时间少(尽管为自己添加自定义CSS)有针对性的情节元素可以起作用,但也会涉及研究)。