デフォルトで最後の値が表示されます(はい、うんざりです)。 addTA
に表示されている最後の番号を削除するには、ソースコードを変更する必要があります。
私は、彼らが(quantmod
ための第二世代チャート)はるかに良いように見えると思うので、私は、addTA
を使用するのではなく、add_TA
とchart_Series
ません。 add_TA
バージョンの最後の番号が表示されなくなります。しかし、ソースコードを変更しても構わないと思います。
add_TAで
、あなたがラインに約ソースの56-60を変更する必要があります:
これである、text.exp
を置き換えます。これらの修飾を有する
# this is inside add_TA:
if (is.na(on)) {
plot_object$add_frame(ylim = c(0, 1), asp = 0.15)
plot_object$next_frame()
text.exp <- expression(text(x = c(1, 1 + strwidth(name)),
y = 0.3, labels = c(name, round(last(xdata[xsubset]),
5)), col = c(1, col), adj = c(0, 0), cex = 0.9,
offset = 0, pos = 4))
plot_object$add(text.exp, env = c(lenv, plot_object$Env),
:
if (is.na(on)) {
plot_object$add_frame(ylim = c(0, 1), asp = 0.15)
plot_object$next_frame()
text.exp <- expression(text(x = c(strwidth(name)), # <- affects label on the subchart
y = 0.3, labels = name, col = c(col), adj = c(0), cex = 0.9,
offset = 1, pos = 4))
plot_object$add(text.exp, env = c(lenv, plot_object$Env),
expr = TRUE)
... この変更されたコードを、新しい変数、say add_TA.mine
:
今
add_TA.mine <- function (x, order = NULL, on = NA, legend = "auto", yaxis = list(NULL,
NULL), col = 1, taType = NULL, ...)
{
lenv <- new.env()
lenv$name <- deparse(substitute(x))
lenv$plot_ta <- function(x, ta, on, taType, col = col, ...) {
xdata <- x$Env$xdata
....
[all the code for the rest of the function with modifications]....
}
}
plot_object
}
、ちょうどあなたが最後の値がもはや印刷されて見ることができない変更機能
library(quantmod)
getSymbols("AAPL")
environment(add_TA.mine) <- environment(get("add_TA", envir = asNamespace("quantmod")))
assignInNamespace(x = "add_TA", value = add_TA.mine, ns = "quantmod")
chart_Series(AAPL, subset = "2017")
add_TA(RSI(Cl(AAPL)))
quantmod:::add_TA(RSI(Cl(AAPL)))
でコードを実行します。
を(あなたが同じ種類を作ることができます古いaddTA
コードの変更点(おそらく古いプロットに固執したい場合はchartSeries
経由)
変更に満足しており、add_TA
に変更したい場合は、quantmod
ソースコードを自分で修正してください。 quantmodソースコードをダウンロードしてパッケージを再コンパイルする必要があります)。あなたが何かを混乱させるなら、元のquandmod
のソースコードを再びダウンロードすることができます。
ありがとうございましたが、最後にソースコードを変更する必要はありませんでした。今のところ、2世代のグラフadd_TAは、以前にプロットされたデータの下に新しいチャートを作成するときに最後の値を表示しますが、既存のグラフの1つにTAを追加するときは、少なくとも行いませんon =引数を使用します。多くの表記法や参照(通常はxtsプロット)を追加する傾向があるため、chartSeriesがグラフに追加したすべての表記やインジケータの最後の値を画面に表示しないようにする必要がありました。この第2世代チャートを知るだけで多くのことができます。ありがとう – user8844984