2016-07-18 2 views
3

Я новичок в Dygraph в R, что я использую для построения своих данных (с помощью xts). Все в порядке, это хорошо работает.Dygraph with R - Как использовать axisLabelFormatter для размера символа метки?

Но проблема в том, что я не могу использовать axisLabelFormatter для создания ярких ярких ярлыков. Как это возможно?

Кроме того, можно ли добавить рамку вокруг диаграммы (например, черную линию оси x и y)?

Изображение здесь объяснить мои 2 вопроса: click here for example image

Ниже код, который я пытаюсь:

library(shiny) 
library(dygraphs) 
library(xts) 

#------Importation des données contenues dans un .csv------ 
setwd("C:/Users/A20570/Desktop") #attention,on ne peut pas faire créer à R un dossier, il faut le créer via windows 

#----Importation données de qualité d'eau 
TabSMP=read.csv2(file="Analyse R/MC1_MC2_SMP.csv",sep=";",dec=".",na.strings = "#N/A") 
TabSMPMC1=read.csv2(file="Analyse R/MC1_SMP.csv",sep=";",dec=".",na.strings = "#N/A") 
TabSMPMC2=read.csv2(file="Analyse R/MC2_SMP.csv",sep=";",dec=".",na.strings = "#N/A") 
TabMC1Manu=read.csv2(file="Analyse R/MC1_Manu.csv",sep=";",dec=".",na.strings = "#N/A") 
TabMC2Manu=read.csv2(file="Analyse R/MC2_Manu.csv",sep=";",dec=".",na.strings = "#N/A") 
TabMC3Manu=read.csv2(file="Analyse R/MC3_Manu.csv",sep=";",dec=".",na.strings = "#N/A") 
TabMC4Manu=read.csv2(file="Analyse R/MC4_Manu.csv",sep=";",dec=".",na.strings = "#N/A") 


#-----Attribution du format de date et heure à la colonne date/heure pour chaque tableau------ 
TabSMP$DateHeure=as.POSIXct(TabSMP$DateHeure,format="%d/%m/%Y %H:%M") 
TabSMPMC1$DateHeure=as.POSIXct(TabSMP$DateHeure,format="%d/%m/%Y %H:%M") 
TabSMPMC2$DateHeure=as.POSIXct(TabSMP$DateHeure,format="%d/%m/%Y %H:%M") 
TabMC1Manu$DateHeure=as.POSIXct(TabMC1Manu$Date,format="%d/%m/%Y %H:%M") 
TabMC2Manu$DateHeure=as.POSIXct(TabMC2Manu$Date,format="%d/%m/%Y %H:%M") 
TabMC3Manu$DateHeure=as.POSIXct(TabMC3Manu$Date,format="%d/%m/%Y %H:%M") 
TabMC4Manu$DateHeure=as.POSIXct(TabMC4Manu$Date,format="%d/%m/%Y %H:%M") 
#TabB5Manu$DateHeure=as.POSIXct(TabB5Manu$Date,format="%d/%m/%Y %H:%M") 
ls.str()# vérification des reconnaissances par R des caractères numériques, textes, dates... 


TabSMPMC1_xts_Temp <- xts(TabSMP$MC1_Temp,order.by=TabSMP$DateHeure,frequency=365) 
TabSMPMC2_xts_Temp <- xts(TabSMP$MC2_Temp,order.by=TabSMP$DateHeure,frequency=365) 
TabMC3Manu_xts_Temp <- xts(TabMC3Manu$MC3_Temp,order.by=TabMC3Manu$DateHeure,frequency=365) 
TabMC4Manu_xts_Temp <- xts(TabMC4Manu$MC4_Temp,order.by=TabMC4Manu$DateHeure,frequency = 365) 

Temperature <- cbind(TabSMPMC1_xts_Temp,TabSMPMC2_xts_Temp,TabMC3Manu_xts_Temp,TabMC4Manu_xts_Temp) 

dygraph(Temperature,main="Evolution de la tempértaure") %>% 
     dyAxis("y", label = "°C ", valueRange = c(-1, 11)) %>% 
     dySeries("..1",label="MC1_Temp",strokeWidth=1.75) %>% 
     dySeries("..2",label="MC2_Temp",strokeWidth=1.75) %>% 
     dySeries("..3",label="MC3_Temp",pointSize=2.5) %>% 
     dySeries("..4",label="MC4_Temp",pointSize=2.5) %>% 
     dyOptions(colors = c("blue","orange","pink","green")) %>% 
     dyLegend(width=400) %>% 
     dyEvent(DebutVidange, "Ouverture Vanne de Fond", labelLoc = "top") %>% 
     dyEvent(FinVidange, "Fin Vidange", labelLoc = "top") %>% 
     dyShading(from =DebutVidange, to =FinVidange, color = "#F0F9FF") %>% 
     dyShading(from =DebutAssec, to =FinAssec, color = "#FFFFFF") %>% 
     dyRangeSelector() 

ответ

0

попробовать это:

dyAxis(
     "y", 
     axisLabelFormatter = 'function(d){return d.toString().fontsize(4);}', #  makes them bigger 
     axisLabelWidth = 70 
    ) %>% 
and change the fontsize(4) to other numbers. An for bold tage the line: axisLabelFormatter = 'function(d){return d.toString().fontsize(4).bold();}', 
as: 

    dygraph(Temperature,main="Evolution de la tempértaure") %>% 
     dyAxis("y", label = "°C ", valueRange = c(-1, 11)) %>% 
     dySeries("..1",label="MC1_Temp",strokeWidth=1.75) %>% 
     dySeries("..2",label="MC2_Temp",strokeWidth=1.75) %>% 
     dySeries("..3",label="MC3_Temp",pointSize=2.5) %>% 
     dySeries("..4",label="MC4_Temp",pointSize=2.5) %>% 
     dyOptions(colors = c("blue","orange","pink","green")) %>% 
     dyLegend(width=400) %>% 
     dyEvent(DebutVidange, "Ouverture Vanne de Fond", labelLoc = "top") %>% 
     dyEvent(FinVidange, "Fin Vidange", labelLoc = "top") %>% 
     dyShading(from =DebutVidange, to =FinVidange, color = "#F0F9FF") %>% 
     dyShading(from =DebutAssec, to =FinAssec, color = "#FFFFFF") %>% 
    dyAxis(
     "y", 
     axisLabelFormatter = 'function(d){return d.toString().fontsize(4);}', # makes them bigger 
     axisLabelWidth = 70 
    ) %>% 
     dyRangeSelector() 
-1

Я получил также ось х, но он стремится к номерам: 2017.3 и т. д., обратите внимание, что вам нужно добавить от 1 до месяцев с месяцев Январь-декабрь 0-11 в Javascript, здесь:

dyAxis(
    "x", 
    # label = "Number", 
    axisLabelFormatter = 'function(d){ var month = (d.getMonth() +1).toString().fontsize(3) ;var year = d.getFullYear().toString().fontsize(3); return year + "."+ month}', ## + 1 since months jan-dec are 0-11 in Javascript 
    axisLabelFontSize = 20, 
    axisLabelWidth = 70 ## gets them apart, but not bigger 
) %>% 
Смежные вопросы