0

プロット内で十字線をインタラクティブに移動する必要がある関数を計画する初期段階にあります。以下は、非常に扱いにくい方法でこれを行うベース グラフィックス コールの一部です。

set.seed(9)
df <- data.frame(x = rnorm(10), y = rnorm(10))
plot(df)

abline(v = 0.5, h = 1.2, col = "red") # 'original' crosshairs
loc <- locator() # click location in plot, then ESC
abline(v = 0.5, h = 1.2, col = "transparent") # clear 'original' crosshairs
abline(h = loc$x[1], v = loc$y[2], col = "green") # crosshairs at new position

私が必要としているのは、十字線の位置を正確に制御し、その位置を返す機能です。上記の例でクリックしても、実際には十分に細かく制御できません。キーボードの上下左右の矢印を使用して移動できるようにしたいと思います。しかし、R がこの方法で lrud キーを「リッスン」するとは思いません (つまり、グラフィックウィンドウにいるとき)。私が間違っている場合は、私を修正してください。これが機能していると想像できる別の方法は、十字線が1回クリックするまでカーソルをたどることです。

だから私はRのデータを使ってこれを行うための戦略を探しています.グラフィックパッケージは重要ではありません(ベース、ggplot2、格子)、データとインタラクティブな機能は他の言語である可能性があり、Webに表示される可能性があります.必要に応じてページ。d3またはのようなインタラクティブなグラフィックスへの新しいアプローチの 1 つを考えていshinyます。私はこれらを少し見てきましたが、私を正しい方向に向けるために、この種のことを定期的に行う人が本当に必要です.

ズームと注釈を付ける機能も必要ですが、最終的に選択されたフレームワーク内でこれらの問題を解決できます。しかし、私がこれについて言及するのは、回答を提供する人が、私が具体的に言及したタスクに加えて他のタスクがあることを知っているためです. そのため、ある特定のアプローチが「進むべき道」として誰かを驚かせるかもしれません。最後に、実際のデータ セットは大きくなるため、速度が問題になります。

4

2 に答える 2

1

TeachingDemos パッケージには、グラフィックス ウィンドウでのマウスによるインタラクティブな配置を使用するいくつかの異なる関数があります。TkIdentify 関数は Tk ウィンドウを使用し、ライブ ドラッグを表示します。dynIdentify 関数は同様に機能しますが、Tk を必要としません (それは を使用するgetGraphicsEventため、それをサポートするシステムが必要です。Windows がサポートしていることはわかっています)。および関数もマウスに従いますHWidentifyHTKidentify

sudoku パッケージのplaySudoku関数は、グラフ内の現在のマウス ポインターの位置も読み取り、キーボードからのキー押下も読み取ります (Tk ウィンドウまたは を使用するための両方のオプションがありますgetGrahpicsEvent)。

これらは、RStudio のマニピュレート パッケージを使用するように適合させることもできます (TeachingDemos についても、それに沿った計画を立てています)。シャイニーでこれを行うのがどれほど簡単かを知るには、シャイニーについてまだ十分に知りません。

上記の関数を調べて、機能が必要なものと似ているかどうかを確認することをお勧めします。そうであれば、コードを見て、ニーズに合わせてどのように適応できるかを確認してください。

于 2013-10-18T22:06:58.490 に答える