おはよう、同僚!今ではグラフの日本語のろうそくをRのggplotパッケージで構築しようとしていますが、コードは動作したくありません。エラーは次のとおりです。連続的なスケールに対する離散値
離散値は連続スケールに供給されます。
は、私は、データがggplotの数値として示されていないことを示唆しているが、私は、コードに変更する場合:as.vector
- >as.numeric
、問題は消えません。私が間違っていることを私に言うことができますか?ありがとう。
library("dplyr")
library("ggplot2")
library("quantmod")
getSymbols('AAPL')
x<-AAPL
head(x)
start=as.Date("2017-01-01")
end=as.Date("2017-09-01")
candle <- function(x, start, end){
date <- as.Date(time(x))
open <- as.vector(Op(x))
high <- as.vector(Hi(x))
low <- as.vector(Lo(x))
close <- as.vector(Cl(x))
xSubset <-data.frame('date'=date,'open'=open,'high'= high,'low'=low,'close'=close)
xSubset$candleLower <- pmin(xSubset$open, xSubset$close)
xSubset$candleMiddle <- NA
xSubset$candleUpper <- pmax(xSubset$open, xSubset$close)
xSubset$fill <- ''
xSubset$fill[xSubset$open < xSubset$close] = 'white'
xSubset$fill[xSubset$fill ==''] = 'red'
xSubset$ma200 <- SMA(xSubset$close, 200)
xSubset$ma50 <- SMA(xSubset$close, 50)
xSubset <-subset(xSubset, xSubset$date > start & xSubset$date < end)
g <- ggplot(xSubset, aes(x=date, lower=candleLower, middle=candleMiddle, upper=candleUpper, ymin=low, ymax=high))
g <- g + geom_boxplot(stat='identity', aes(group=date, fill=fill))
g <- g + geom_line(aes(x=date, y=ma50))+ geom_line(aes(x=date, y=ma200))
g
}
candle(AAPL, start, end)
はい、ありがとうございます! –
しかし、今度は2番目の問題が発生しました。グラフのろうそくの値が100 y.e.より高いです。 (yスケールで)、このグラフを制限し、50または100で始まる縮尺を表示したい(0ではなく)。私はggplot(ylim = c(50,150))を追加しようとしましたが、グラフには何の影響もありませんでした。 –
新しいコードで更新したり、新しい質問をすることはできますか? –