【发布时间】:2014-02-27 08:46:11
【问题描述】:
我在ggplot中绘制了一张地图并使用了
library(ggplot2)
library(maps)
states <- map_data("world")
test<-data.frame(Market=c("Fayzabad","Herat","Jalalabad","Kabul","Kandahar","Maymana","Mazar","Nili"),
Country=rep("Afghanistan",8),lat=c(37.12144,34.34195,34.43419,34.52845,31.32000,35.92017,36.70000,33.72245),
long=c(70.57852,62.20306,70.44768,69.17170,65.43000,64.77631,67.11667,66.12503),
S=c(8.021731,9.002656,14.952483,9.201323,15.080901,15.009068,14.295761,6.217411),
NC=c(2,3,3,5,3,2,6,9))
p <- ggplot()
p <- p + geom_polygon( data=states, aes(x=long, y=lat, group = group),fill="black",colour="white" )
p <- p + geom_point(data=test, aes(x=long, y=lat,color = S,size=NC))+
scale_color_gradient(low="yellow",high="red", limit=c(0,25),space="Lab",name = "Seasonality")+
scale_size(range = c(0, 10),name="Number of Commodities")+ggtitle("Seasonality Map")+theme_bw()
p
它在地图上很好地绘制了我想要的点并给出了一个图例。但是我想更改绘图的图例并手动设置颜色和大小比例,以便颜色和大小比例以及图例看起来像......
传说
NC
*small circle* 1-3
*medium circle* 4-6
*large circle* 7-9
S
*yellow color* < 10
*orange color* 10-25
*red color* 25 <
我知道有一个 cut 函数,但我只是想知道您是否可以使用 ggplot 中的比例选项来做到这一点,而无需创建新的分类变量。
【问题讨论】:
标签: r colors ggplot2 scale legend