2016-04-02 15 views
0

Was ich im Grunde zu tun versuche s$cluster Zahlen auf der jeweils barWie Zahlen von Chart oben hinzufügen() Bars r mit

library("quantmod") 

# xts object 
s <- 
structure(c(1300, 1301.349976, 1281.199951, 1316.900024, 1312.310059, 
1278, 1304.439941, 1304.709961, 1313.900024, 1323.089966, 1314.98999, 
1301.719971, 1291.630005, 1271.01001, 1281.199951, 1311.040039, 
1288.329956, 1273, 1301.189941, 1287.030029, 1307.890015, 1317.030029, 
1288.959961, 1299.699951, 372300, 453800, 347600, 376400, 488200, 
567300, 1301.189941, 1287.030029, 1307.890015, 1317.030029, 1288.959961, 
1299.699951, 0.0034153392307692, 0.00258192266643587, 0.0255230051909361, 
0.00470038870619693, 0.00204214772387123, 0.0185602276995305, 
-0.00643845769230766, -0.0233142248891853, 0, -0.0044498328599013, 
-0.0182731991083518, -0.00391236306729259, 0.000915339230769252, 
-0.0110039169048249, 0.02083208321946, 9.87204781157658e-05, 
-0.0177931258240853, 0.016979617370892, 4, 3, 1, 4, 3, 1), .indexCLASS = "Date", .indexTZ = "UTC", tclass = "Date", tzone = "UTC", src = "yahoo", updated = structure(1459599733.74441, class = c("POSIXct", 
"POSIXt")), class = c("xts", "zoo"), index = structure(c(1458777600, 
1459123200, 1459209600, 1459296000, 1459382400, 1459468800), tzone = "UTC", tclass = "Date"), .Dim = c(6L, 
10L), .Dimnames = list(NULL, c("PCLN.Open", "PCLN.High", "PCLN.Low", 
"PCLN.Close", "PCLN.Volume", "PCLN.Adjusted", "h", "l", "c", 
"cluster"))) 

ich folgendes versucht haben, setzen:

# plot 
chart_Series(s) 

# add text on top of each bar: 
text(x = s, y = s$cluster, label = as.character(s$cluster)) 

Ich habe versucht, online zu suchen, aber kann nicht die Antwort für chartSeries() Grundstücke finden. Vielen Dank im Voraus

Antwort

1

In der text Aufruf, x soll ein numerischer Vektor der x-Koordinaten der Position des Textes, den Sie plotten möchten, aber Sie stellen eine XTS/Matrix. Ich würde vermuten, dass der Aufruf text die ersten 6 Beobachtungen der ersten Spalte verwendet, da so viele Beobachtungen in Ihrem gezeichneten Diagramm sind. Die ersten 6 Werte liegen zwischen 1278 und 1317, also >> 6, also erscheinen sie nicht auf dem gezeichneten Plot.

In ähnlicher Weise sollen y die y-Koordinaten der Position des Textes sein, den Sie plotten möchten. Sie geben einen Vektor mit einem Bereich zwischen 1 und 4 an, während die y-Werte in den Daten, die Sie plotten, im Bereich von 1250-1350 liegen, sodass Ihre Textkoordinaten außerhalb des gezeichneten Diagramms liegen.

Die x-Koordinaten sollten nur 1:nrow(s) sein und die y-Koordinaten sollten für jede Beobachtung etwas in der Nähe von Lo(s) und Hi(s) sein. Zum Beispiel:

text(x = seq(nrow(s)), y = Hi(s)+1, label = as.character(s$cluster)) 
+0

Danke @Joshua – Rime