0

ポイントのいくつかのリストをプロットしたいのですが、各リストには距離(10進数)とerror_no(1-8)があります。これまでのところ、私は以下を使用しています:

plot(b1$dist1, b1$e1, col="blue",type="p", pch=20, cex=.5)
points(b1$dist2, b1$e2, col="blue", pch=22)

両方を同じプロットに追加します。(凡例などは後で追加します)。

私が抱えている問題は、ポイントが重なっていて、プロットに使用する文字を変更しても、前のポイントを覆ってしまうことです。2つ以上のプロットを計画しているので、これは大きな問題になります。

私はいくつかの方法を見つけました:

http://www.rensenieuwenhuis.nl/r-sessions-13-overlapping-data-points/

しかし、y軸に沿ってポイントの間隔を空けるようなことをしたいのですが、1つの方法は、.1、次に.2などを追加することですが、それを行うパッケージがあるかどうか疑問に思いました。

Cheers M ps:何か見落とした場合は、お知らせください。

4

3 に答える 3

2

投稿したリンクの最初のポイントに記載されているように、jitterすべてのポイントがわずかに移動します。y軸上のポイントを移動したいだけの場合:

plot(b1$dist1, b1$e1, col="blue",type="p", pch=20, cex=.5)
points(b1$dist2, jitter(b1$e2), col="blue", pch=22)
于 2012-06-18T14:52:08.130 に答える
2

チャートの読者に伝えたい情報に大きく依存します。一般的な解決策は、Rの色仕様の透明度を使用することです。たとえば、色を「青」と呼ぶ代わりに、色を#0000FF44 (赤または緑に設定した場合はお詫びします)に設定します。最後の2バイトは、00からFFまでの透明度を定義するため、重複するデータポイントはスタンドアロンポイントよりも暗く表示されます。 。

于 2012-06-18T17:05:39.440 に答える
0

パッケージspread.labs内の関数、特に例を見てください。TeachingDemosその関数を使用してプロットを作成できる可能性があります(例ではラベルを扱いますが、ポイント自体にも同じように簡単に適用できます)。重要なのは、結合されたデータに基づいて新しい場所を見つけてからプロットする必要があるということです。関数がそのままでは目的どおりに機能しない場合でも、コードを確認し、アイデアを使用してポイントを広げることができます。

別のアプローチは、データを再構築ggplot2し、「覆い焼き」でパッケージを使用することです。points数回使用するのではなく、他のアプローチは、引数を使用してベクトルでプロットするmatplot関数、またはまたはプロットです。おそらく、これらのいずれかのデータを再構築する必要があります。collatticeggplot2

于 2012-06-18T18:49:58.100 に答える