library(shiny)
ui=shinyUI(fluidPage(
navbarPage("quant",inverse = FALSE,
tabPanel("sigle fund",
fluidPage(
titlePanel("choose one fund"),
sidebarLayout(
sidebarPanel(
selectInput("fund_code", "fund_code:",
c("000457"="000457",
"580006"="580006",
"690004"="690004"
))),
mainPanel(chartJSRadarOutput("mpgplot"))
))),
tabPanel("fund compare",
fluidPage(
titlePanel("choose the first fund"),
sidebarLayout(
sidebarPanel(
selectInput("fund_code_1","fund_code:",
c("000457"="000457",
"580006"="580006",
"690004"="690004")),
selectInput("fund_code_2","fund_code:",
c("000457"="000457",
"580006"="580006",
"690004"="690004"))),
mainPanel(chartJSRadarOutput("mpgplot2"))
))))))
begin=function(){
library(radarchart)
library(shiny)
library(shinydashboard)
library(RMySQL)
library(DBI)
}
#连接数据库
connectMySQL<-function(mysql,dbname,user,password,host){
drv<-dbDriver(mysql)
return(dbConnect(drv,dbname,user,password,host))
}
connect <- function()
{
con <- connectMySQL(mysql = "MySQL", dbname = "test", user = "b**min", password = "A***4", host = "10****48")
return(con)
}
begin()
con=connect()
fund=dbGetQuery(con,"select * from fund_score;")
server=shinyServer(function(input, output)
{
output$mpgplot<-renderChartJSRadar(
{
fund_s=fund[which(fund$fund_code==input$fund_code),]
labs <- c("profit", "steady", "adjust","win", "reasech")
scores <- list("fund"=c(fund_s[,3],fund_s[,4],fund_s[,5],fund_s[,6],fund_s[,7]))
chartJSRadar(scores = scores, labs = labs, maxScale = 100)
})
output$mpgplot2<-renderChartJSRadar(
{
fund_f=fund[which(fund$fund_code==input$fund_code_1),]
fund_t=fund[which(fund$fund_code==input$fund_code_2),]
labs <- c("profit", "steady", "adjust","win", "reasech")
scores <- list("fund_1"=c(fund_f[,3],fund_f[,4],fund_f[,5],fund_f[,6],fund_f[,7]),
"fund_2"=c(fund_t[,3],fund_t[,4],fund_t[,5],fund_t[,6],fund_t[,7])
)
chartJSRadar(scores = scores, labs = labs, maxScale = 100)
})
})