【问题标题】:change the scale manually and legend labels to reflect intervals手动更改比例和图例标签以反映间隔
【发布时间】: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


    【解决方案1】:

    对于颜色,您可以使用scale_colour_gradientn 并提供您自己的颜色和间隔,如下所示:

    scale_colour_gradientn(colours = c("yellow","orange","red"),
                         values=c(0,10,25,max(mapdf$S)))
    

    对于您应该使用scale_size_continuous(breaks=...) 的大小,但如果没有可重现的示例,我无法确定。

    【讨论】:

    • 有一个额外的 n 和缺失)但否则当我输入这个命令时,它会给我错误连续_scale(“颜色”,“渐变”,seq_gradient_pal(低,:未使用的参数(颜色 = c( “黄色”、“橙色”、“红色”),值 = c(0, 10, 25, 149.209542480829))
    • 额外?只是缺少),我添加了它。函数是 scale_colour_gradientn 和 "n" 。如果您提供可重现的示例,您将获得质量更好的答案。我无法测试我的答案,因为您不提供任何支持。
    • 我为 n 道歉,因为我不知道梯度。我将使用示例数据编辑帖子,以便可以复制
    • 由于某种原因 gradietn 不适合我。如果给了我颜色,但一切都是黄色的,包括传说中的
    • @BaconDoggie 您的问题仍然无法重现,您还应该提供“状态”数据集。
    猜你喜欢
    • 2011-05-04
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2021-06-29
    相关资源
    最近更新 更多