Plotly R:像 Tableau 一样在条形图中创建分隔线
Plotly R: create dividers in bar plot like Tableau
我有这个数据框:
df = data.frame(
Period = c("FY2015", "FY2015", "FY2015", "FY2015", "FY2015", "FY2015", "FY2016", "FY2016",
"FY2016", "FY2016", "FY2016", "FY2016"),
Region = c("Africa", "Asia", "Australia", "Europe", "North America", "South America",
"Africa", "Asia", "Australia", "Europe", "North America", "South America"),
Revenue = c(1.0e+07, 2.0e+07, 7.0e+07, 1.2e+08, 1.5e+08, 6.0e+07, 8.0e+06, 1.6e+07, 5.6e+07,
9.6e+07, 1.2e+08, 4.8e+07))
我想要一个 plotly
条形图除以 Region
,就像我在 Tableau 中做的那样 here。
这里有什么提示吗?
我不知道完全自动的方法,但我们可以通过制作小平面、移除它们之间的填充并在边界处添加垂直线来伪造它。
在这种情况下,有两个离散的类别(“FY2015”和“FY2016”),ggplot 在后台将它们视为值 1 和 2。默认的条形宽度和填充意味着这些面板的边缘是在右侧 0.4 和右侧 2.6。
library(ggplot2)
library(plotly)
my_plot <- ggplot(df, aes(Period, Revenue)) +
geom_col() +
geom_vline(xintercept = c(0.4, 2.6), size = 0.2, color = "gray70") +
facet_wrap(~Region, nrow = 1) +
theme_minimal() +
theme(panel.grid.major.x = element_blank(),
panel.spacing = unit(0, "cm"))
ggplotly(my_plot)
我有这个数据框:
df = data.frame(
Period = c("FY2015", "FY2015", "FY2015", "FY2015", "FY2015", "FY2015", "FY2016", "FY2016",
"FY2016", "FY2016", "FY2016", "FY2016"),
Region = c("Africa", "Asia", "Australia", "Europe", "North America", "South America",
"Africa", "Asia", "Australia", "Europe", "North America", "South America"),
Revenue = c(1.0e+07, 2.0e+07, 7.0e+07, 1.2e+08, 1.5e+08, 6.0e+07, 8.0e+06, 1.6e+07, 5.6e+07,
9.6e+07, 1.2e+08, 4.8e+07))
我想要一个 plotly
条形图除以 Region
,就像我在 Tableau 中做的那样 here。
这里有什么提示吗?
我不知道完全自动的方法,但我们可以通过制作小平面、移除它们之间的填充并在边界处添加垂直线来伪造它。
在这种情况下,有两个离散的类别(“FY2015”和“FY2016”),ggplot 在后台将它们视为值 1 和 2。默认的条形宽度和填充意味着这些面板的边缘是在右侧 0.4 和右侧 2.6。
library(ggplot2)
library(plotly)
my_plot <- ggplot(df, aes(Period, Revenue)) +
geom_col() +
geom_vline(xintercept = c(0.4, 2.6), size = 0.2, color = "gray70") +
facet_wrap(~Region, nrow = 1) +
theme_minimal() +
theme(panel.grid.major.x = element_blank(),
panel.spacing = unit(0, "cm"))
ggplotly(my_plot)