sagen, dass ich die folgende Datenrahmen haben:Wie eine Zeile mit Farbvektor in R plotten Plotly
ret <- rnorm(100, 0, 5)
df <- data.frame(
x = seq(1, 100, 1),
ret = ret,
y = 100 + cumsum(ret),
col = c(ifelse(ret > 0, "red", "forestgreen"), NA)[-1]
)
hier die Renditen einiger fiktiven Finanzanlage mit rnorm namens ‚ret‘ Ich bin zu simulieren, und bin Definieren eines Farbvektors mit dem Namen "Col", wobei Upticks grün und Downticks rot sind.
Was ich produzieren will, ist so etwas wie die folgenden:
library(ggplot2)
ggplot(df, aes(x=x, y=y)) + geom_line(aes(colour=col, group=1))
Aber ich möchte ein ähnliches Bild machen mit plotly so, dass ich auf Abschnitte des Plots vergrößern kann. Mein erster Gedanke war, einfach zu versuchen, mit der ggplotly() Funktion um den Code, der das gewünschte Bild erzeugt:
library(plotly)
ggplotly(ggplot(df, aes(x=x, y=y)) + geom_line(aes(colour=col, group=1)))
Aber die Handlung ist nicht mehr gruppiert. Außerdem habe ich versucht, plot_ly() verwenden, aber nicht die Liniensegmente scheinen erhalten ihre Farbe zu machen nach dem ‚col‘ Attribut, das ich festgelegt wird:
plot_ly(data=df, x = ~x) %>% add_lines(y = ~y, line = list(color=~col))
Aber meine Farbe Argument hat keinen Einfluss auf die Farbe der Linie. Ich habe verschiedene andere Dinge ausprobiert, aber immer noch mit einem der beiden unerwünschten Plots. Jede Hilfe würde sehr geschätzt werden!
Hinweis: Ich habe bereits Candlestick- und OHLC-Diagramme mit plot_ly() erstellt, aber ich kann nicht mit ihnen arbeiten, da die y-Achse nicht skaliert wird, wenn Sie in einen Teilbereich des Diagramms hineinzoomen.