2017-03-28 13 views
1

多色点である点を追加したいと思います。赤の半分になっています。可能であれば、2色以上、例えば4色で色をつけてやりたいと思っています。 これはすべて可能ですか?プロット内の多色点

私は色がそれぞれ異なるサイズのいくつかのドットを重ね合わせることができることを知っています。その結果、同心円の多色のドットになります。しかし、これは私の後ではありません。

文脈上、私はこれらの点を地図の都市に使用しています。 ここには小規模の例があり、各都市は単色の点があります。しかし、私は各都市に色のついた2つの半分のドットがあるようにしたいと思います。

require(ggmap); 

citiesnames=c("Madrid","Toledo","Valencia","Granada") 

cities=str_c(citiesnames,"Spain",sep=", "); 
geo=geocode(cities); 
lon=geo$lon; 
lat=geo$lat; 
coord=mapproject(lon, lat,proj="mercator"); 

map("world","Spain",fill=T,col="ivory",proj="mercator"); 

points(coord$x[1], coord$y[1], pch=16, cex=1.2, col="black") 
points(coord$x[2],coord$y[2], pch=16, cex=1.2, col="red") 
points(coord$x[3], coord$y[3], pch=16, cex=1.2, col="blue") 
points(coord$x[4], coord$y[4], pch=16, cex=1.2, col="green4") 

大変助かりました。

+0

ベースグラフィックで 'col = discrete_variable'を使うことができます。しかし、より多くの情報と、おそらくあなたが持っているもののサンプルコードを提供する必要があります。 – student

+0

[R値に基づくRカラー散布図の可能な複製点](http://stackoverflow.com/questions/17551193/r-color-scatter-plot-points-based-on-values) – Masoud

+0

異なる値同じ色で必要な異なる点については、それらをクラスタ化し、それらをグループ化する列を追加することができます。以下を読んでください:http://stackoverflow.com/questions/17551193/r-color-scatter-plot-points-based-on-values – Masoud

答えて

0

私がコメントで述べたように、これはpostを参考にしてください。ドキュメントの目的のために私は問題を解決する答えを追加します。

あなたはこれらの二つの機能を使用して、グラフに2つの半円(円グラフ)を追加することができます。

upper.half.circle <- function(x,y,r,nsteps=100,...){ 
    rs <- seq(0,pi,len=nsteps) 
    xc <- x+r*cos(rs) 
    yc <- y+r*sin(rs) 
    polygon(xc,yc,...) 
    } 

    lower.half.circle <- function(x,y,r,nsteps=100,...){ 
    rs <- seq(0,pi,len=nsteps) 
    xc <- x-r*cos(rs) 
    yc <- y-r*sin(rs) 
    polygon(xc,yc,...) 
    } 

後で、操縦しているときにasp = 1を設定する必要があります半円を得る。

plot(1, type="n",axes=F,xlab="", ylab="",xlim=c(0,200),ylim=c(0,200), asp = 1) 
    upper.half.circle(15,170,10,nsteps=1000,col='red') 
    lower.half.circle(15,170,10,nsteps=1000,col='blue') 

はここで、このコードの結果です:

enter image description here

は、後で何が必要四半期かを取得するためにフィクションを編集することができます。