Eine Möglichkeit, dies zu tun ist, um erste Handlung die Date
und Value
Spalten in der Anfangs plot()
Anruf, und dann ein nachfolgender Aufruf von text()
machen die Signal
Etiketten zu ziehen. Wir können einen Versatz von den exakten Datenpunkten berechnen, indem wir par('usr')
aufrufen, um den Benutzerkoordinatenbereich des Plots (der während des Aufrufs plot()
dynamisch erstellt wurde) zu erhalten, den y-Bereich zu extrahieren, die Differenz zu nehmen und ihn dadurch zu multiplizieren Definieren des Offsets als Bruchteil des Y-Koordinatenbereichs des Diagramms Der Offset kann alternativ (oder zusätzlich) aus dem x-Koordinatenbereich für einen horizontalen Offset berechnet werden.
Diese Demo gleicht die Etiketten von 6% der y-Koordinatenbereich:
## coerce Date column to Date type
df$Date <- as.Date(df$Date,'%d/%m/%y');
## plot and label
plot(df$Date,df$Value,type='b');
text(df$Date,df$Value+diff(par('usr')[3:4])*6/100,df$Signal,xpd=NA);
Daten
df <- data.frame(Date=c('1/1/16','1/2/16','1/3/16','1/4/16','1/5/16'),Value=c(0.56,0.7,0.12,
0.33,0.35),Signal=factor(c('A',NA,'B','C',NA)),stringsAsFactors=F);
es Ihnen danken! Gibt es das überhaupt via dygraph? Ich arbeite mit immer ändernden Zeitreihen Daten so macht es mit plot() ein bisschen schwierig. –
@ user3481603 Ich habe diese Bibliothek noch nie benutzt, also konnte ich nicht sagen. – bgoldst