2016-11-29 43 views
1

我有一个闪亮的应用程序,它使用dygraphs包进行绘图。我需要在图上的轴标签中使用上标和特殊字符。我尝试过expression()bquote(),但似乎并没有dygraphs可以评估这些函数,因为标签被打印为[Object Object]。如何在dygraphs轴标签中加上上标和特殊字符

这是一个简单的例子。我需要在y标签上标注87和86,并在x标签中使用mu字符。

library(shiny) 
library(dygraphs) 

ui <- fluidPage(dygraphOutput("dygraph")) 

server <- shinyServer(function(input, output, session) { 

    sampleplot <- function(){ 
    norm <- rnorm(1000,mean=50,sd=7) 
    dist <- seq(1,1000,by=1) 
    dat <- as.data.frame(cbind(dist,norm)) 
    names(dat) <- c("Distance","Normal") 
    dygraph(dat, ylab="87Sr/86Sr",xlab="Distance (um)") %>% 
     dySeries("Normal",drawPoints = TRUE, pointSize = 2, strokeWidth = 0.0)} 

    output$dygraph <- renderDygraph({sampleplot()}) 


    } 
) 


shinyApp(ui=ui,server=server) 

回答

1

我读了dy的JS选项网页,发现轴标签可以采取HTML,而不仅仅是文本。我查了一下如何在HTML中输入上标http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_sup和特殊字符http://www.htmlhelp.com/reference/html40/entities/symbols.html,它工作正常!

library(shiny) 
library(dygraphs) 

ui <- fluidPage(dygraphOutput("dygraph")) 

server <- shinyServer(function(input, output, session) { 

    sampleplot <- function(){ 
    norm <- rnorm(1000,mean=50,sd=7) 
    dist <- seq(1,1000,by=1) 
    dat <- as.data.frame(cbind(dist,norm)) 
    names(dat) <- c("Distance","Normal") 
    dygraph(dat, ylab="<sup>87</sup>Sr/<sup>86</sup>Sr",xlab="Distance (&mu;m)") %>% 
     dySeries("Normal",drawPoints = TRUE, pointSize = 2, strokeWidth = 0.0)} 

    output$dygraph <- renderDygraph({sampleplot()}) 


    } 
) 


shinyApp(ui=ui,server=server) 
相关问题