言語、その経度と緯度、および特徴値(カテゴリ1、カテゴリ2、または両方-プロットではこれらはそれぞれ赤、青、緑でマークされています)を含むデータベースを持っています。言語ごとに最大3つのポイントがあり、当然ながら2つの言語ポイントが互いに非常に近い位置にある場合があります。
name longitude latitude sp_sum
1 Modern Armenian 45 40 both
2 Modern Armenian 45 40 both
3 Modern Armenian 45 40 spatial
4 Dieri 138 -28.1667 both
5 Dieri 138 -28.1667 both
6 Finnish 25.5577 64.7628 non-spatial
7 Crimean Tatar 28.1418 43.8398 spatial
8 Ese Ejja -67.515 -11.7268 non-spatial
9 Makhuwa 38.8052 -14.8509 non-spatial
...
Rパッケージggplot2を使用しています(これは私が最もよく知っているパッケージですので、引き続き使用できますが、他のソリューションも歓迎します)。これは、以前の試みからの抜粋です(コード:下記1を参照):
すべてのポイントについて、(おおまかな)位置と値がまだ表示されていることを望みます。(1つの言語に複数のポイントがある場合、それらを組み合わせることができます。)
方法はありますか...
- ...オーバープロットが発生しないようにポイントを十分に側方に移動するには(たとえば、geom_jitterを使用した場合よりもランダムではありません- たとえば、ビースウォームパッケージにそのような覆い焼きがたくさんあります)?
- ...および/または移動する必要がある場合に、ポイントの元の位置を指すある種の「線」を作成するには?
- ...または、それらがまだ明確な方法で近接ポイントを結合する(おそらく、ビニングを使用する実用的なテクニックがあります。すなわち、stat_bin *または同様の効果を持つ何か)。
...または、PDFに含めることができるWebサイトで見られるような「インタラクティブプロット」を作成する(アニメーションや光沢のあるパッケージの機能についても考えています)。たとえば、wals.infoでは次のようになります。
ここでの以前の投稿から、directlabelsパッケージはラベルを移動できることを知っていますが、ポイントを移動させる方法も見つけていません。
明確化を要求すること自由に感じなさい!
注:オーバープロットには多くの質問があったことは承知していますが、私が調べたすべての質問には異なる(つまり、統計的な)目的があるようです(すべてを読んだとは主張しませんので、 dもちろん、リンクも喜んで受け入れます)。私が知っていて、関連性が高いと思われる投稿をリストしようとします(-私が読んだことから、これらはどれも私の質問に正確に答えません。)
1次のコード行は、上から作物を作成しました。
library(OpenStreetMap)
library(ggplot2)
data <- read.csv(header = T, sep = ",", dec = ".", quote= "'",
text = "'','name','longitude','latitude','sp_sum'
'1','Modern Armenian',45,40,'both'
'2','Modern Armenian',45,40,'both'
'3','Modern Armenian',45,40,'spatial'
'4','Dieri',138,-28.1667,'both'
'5','Dieri',138,-28.1667,'both'
'6','Finnish',25.5577,64.7628,'non-spatial'
'7','Crimean Tatar',28.1418,43.8398,'spatial'
'8','Sochiapam Chinantec',-96.6079,17.7985,'non-spatial'
'9','Ese Ejja',-67.515,-11.7268,'non-spatial'
'10','Makhuwa',38.8052,-14.8509,'non-spatial'
'11','Mualang',111.077,0.31083,'non-spatial'
'12','Martuthunira',116.607,-20.9294,'non-spatial'
'13','Evenki',108.626,53.85,'both'
'14','Afrikaans',30,-22,'both'
'15','Male (Ethiopia)',36.9892,5.91975,'both'
'16','Manchu',126.557,47.3122,'both'
'17','Dime',36.3329,6.20951,'non-spatial'
'18','Koorete',37.8679,5.80545,'non-spatial'
'19','Wolaytta',37.7537,6.32668,'both'
'20','Dizin',35.5763,6.1405,'both'")
map <- openproj(openmap(c(85, -179.9), c(-60, 179.9), zoom = 2, type = "nps"))
plot <- autoplot(map) +
geom_point(data = data, aes(x = longitude, y = latitude),
color = "white", alpha = 0.8, size = 8) +
geom_point(data = data, aes(x = longitude, y = latitude, color = sp_sum),
alpha = 0.3, size = 4)
plot