2 つのシリーズ + 凡例がある場合、ジェネリック プロット メソッドを実装する最良の方法は何ですか? 問題は、色と凡例にいくつかの適切なデフォルトを提供したいということですが、ユーザーは自由に変更できる必要があります。
obj = list(y1 = runif(100, 0, 10), y2 = runif(100, 20, 30))
class(obj) = 'foo'
plot.foo = function(myobj, col1 = 'red', col2 = 'blue', type = 'l', ...)
{
ylim = c(min(obj$y1, obj$y2), max(obj$y1, obj$y2))
plot(myobj$y1, type = type, col = col1, panel.first = grid(col = '#A9A9A9'), ylim = ylim, ...)
lines(myobj$y2, col = col2, type = type, ...)
}
plot(obj)
これは良さそうですが、私が電話すると
plot(obj, col = 'black')
エラーが発生します:
Error in plot.foo(obj, col = "black") :
argument 2 matches multiple formal arguments
プロットプロトコルを壊さずに 2 シリーズ + 凡例を処理する方法はありますか? (別の問題は、凡例のlwdおよびpchパラメータを同期することです)
そして、私が... argに乗った場合、CRANは私のパッケージを拒否しますか? ありがとう!