0

x軸が日付(各目盛りは1日)で、y軸の各目盛りが一意に識別された個人(魚)を表すグラフを作成しようとしています。次に、各個人について、特定の日に各個人が検出されたかどうかを示すポイントをプロットします。

私の問題は、プロットする検出数が数千、個人が約400であるということです。番号を一意に識別する個人は非常に大きいです(たとえば、161795550と165705763は400の一意のIDのうちの2つです)。数日しか見られない人もいれば、数百人しか見られない人もいます。

問題:このようにプロットすると(ggplot2を使用)、y軸が低い一意のIDと高い一意のIDの間に広がることが不可能になり、ggplot2では軸を壊す方法がありません。したがって、解決策についての私の考えは、y軸の広がりを制御する方法として、一意のIDを1から400までのシーケンスとして番号を付け直すことでした。これは手動で行うこともできますが、時間がかかります。この名前変更を自動化する良い方法はありますか?

これは、適用された状況を再現するために使用できるコードです。3つの一意のID(165705763,161795422,161795351)の名前を(1,2,3)に変更します(実際には400のIDがある場合を除く)。問題)。

a<-c("165705763","165705763","165705763","165705763","165705763","161795422","161795351","161795351","161795351")
b<-c("Seine","Seine","Seine","Seine","Seine","Seine","HookAndLine","HookAndLine","HookAndLine")
f<-c("2010-10-25","2010-10-18 ","2010-10-30","2010-11-12","2010-10-29","2010-10-16","2010-10-25","2010-10-16","2010-10-18")
d<-cbind(a,b,f)

他の解決策は大歓迎です!

4

1 に答える 1

1

Andrie のコメントは、露骨に単純な解決策につながりました。元のデータには、クラス「Integer」として ID がありました。IDを文字に再分類しただけで、ggplot2はy軸を自動的にスケーリングしました

于 2012-06-04T19:50:12.077 に答える