plotly - 如何使用闪亮的应用程序在一张图片中显示两个不同的变量
问题描述
我在使用 Shiny 应用程序时遇到了一些困难。
我的数据如下所示:
mydata:
time = c(1995-01-01, 1995-02-01, 1995-03-01, 1995-04-01, 1995-05-01)
var_1 = c(64.6, 75.1, 45.3, 67.4, 45.1)
var_2 = c(4.5, 6.7, 3.5, 6.6, 8.7)
var_1 和 var_2 都是数字。
我的目标是使用 plot_ly 构建一个图,您可以在其中从下拉菜单中选择 var_1 或 var_2。Var_1 是一个时间序列,我希望它是分散类型。Var_2 是同比变化 (%),我想在那里使用类型 bar。
我已经使用 selectInput 构建了我的下拉菜单:
box(plotlyOutput("data", height=500)
selectInput("variable", "choose variable", choices = c("var_1", "var_2"))
然后对于服务器,我尝试使用“if”函数,以便绘图将从散点图更改为条形图,具体取决于选择了哪一个:var_1 或 var_2。这不太像这样工作,但我自己无法解决这个问题:
server <- function(input, output) {
output$data <- renderPlotly({
plot_ly(mydata,
if(input$variable == "var_1")
{add_trace(x = ~ mydata$time,
y = ~ mydata$var_1,
type = "bar",
name = "name",
color = "")} %>%
if(input$variable == "var_2")
{add_trace(x = ~ mydata$time,
y = ~ mydata$var_2,
type = "scatter",
mode = "lines",
name = "name2",
color = "")} %>%
layout(title = "title",
xaxis = list(title = "",
zeroline = FALSE),
yaxis = list(title = "",
zeroline = FALSE)))
})
}
shinyApp(ui, server)
解决方案
推荐阅读
- python - 使用 Cython 加速 Spacy
- angular - 离子模态:未找到组件工厂
- java - 如何在 JavaFX 的 TableView 中自定义 setCellValueFactory 的功能
- bash - 用 var=$?; 测试命令的存储退出状态 [[ $var ]] 始终为真,无论是 0 还是 1
- python - Tensorflow 2.0 Keras 中过激激活值的正则化
- php - Laravel-echo 无法收听私人和在线频道
- python - 如何在 Django 中为单个行/对象存储多个图像,以便我可以轻松地检索它们或执行其他查询操作?
- c# - 如何将循环转换为 Linq
- c++ - C++中输入char变量后程序的执行结束
- android - 单击 LibGdx 更改 ImageButton 的纹理