我正在设计一个使用plotly图形的shiny应用程序,但尝试为条形图中的alpha(透明度)设置响应式值时遇到了问题。
基本上,plotly不喜欢alpha参数,但我无法弄清楚为什么。它似乎认为我提供的值少于10个,但实际上并不是这样... 我创建了一个可重现的例子,显示alpha参数在ggplot中可行,但在plotly中不行:
library(data.table)
library(ggplot2)
library(plotly)
library(scales)
# Create reproducible example -------------------------------------------------
df <- data.table(fiscal=2013:2022,value=runif(10,min=100,max=200))
# Create vector of alpha values for the ggplot --------------------------------
alpha_values <- data.table(x=2013:2022,y=rep(0.5,10))
alpha_values[x %in% 2013:2015]$y <- 1
alpha_values[x==2022,y:=1]
# (2015 to 2021 will the 50% transparent)
g1 <- ggplot(df,aes(fiscal,value))+
geom_bar(stat="identity",fill='#3D78A5',alpha=alpha_values$y)+
scale_x_continuous(breaks=unique(df$fiscal))+
scale_y_continuous(labels=comma)+
labs(title="",x="Fiscal Year",
y= "Random, number")
# Works fine using ggplot call ------------------------------------------------
g1
# Alpha argument does not work in ggplotly ------------------------------------
ggplotly(g1)
# (Error: alpha must be of length 1 or the same length as x)
在ggplot/plotly中,可以结合使用alpha参数吗?