我正在尝试使用stat_contour和geom_tile的组合填充轮廓图。发生了一件奇怪的事情,尽管已经检查了因子水平和颜色矢量,但颜色有时并不符合正确的水平。
示例1:颜色匹配正确
符:
[1] "[1.2e-06,1.25e-06]" "(1.25e-06,1.3e-06]"
[3] "(1.3e-06,1.35e-06]" "(1.35e-06,1.4e-06]"
[5] "(1.4e-06,1.45e-06]" "(1.45e-06,1.5e-06]"
[7] "(1.5e-06,1.55e-06]" "(1.55e-06,1.6e-06]"
[9] "(1.6e-06,1.65e-06]" "(1.65e-06,1.7e-06]"
颜色:
[1] "#FFFF00" "#8DFF00" "#1CFF00" "#00AA54"
[5] "#0038C6" "#2307FB" "#6A15F5" "#AA1CD5"
[9] "#D40E6A" "#FF0000"
结果:
示例2:颜色不正确匹配(第一个bin是最后一种颜色!)
符:
[1] "[100,110]" "(110,120]" "(120,130]"
[4] "(130,140]" "(140,150]" "(150,160]"
[7] "(160,170]" "(170,180]" "(180,190]"
[10] "(190,200]" "(200,210]"
颜色:
[1] "#FFFF00" "#99FF00" "#32FF00" "#00CB33"
[5] "#006599" "#0000FF" "#400CF9" "#8019F3"
[9] "#B319BF" "#D90C5F" "#FF0000"
结果:
如您所见,在两种情况下,第一个装箱范围应对应黄色,但在第二种情况下,填充的颜色为红色!
我附上了at this pastebin link函数,但这里是相关代码段:
geom_tile(data=longdata_n,aes(x=lons[longdata_n[,1]],
y=lats[longdata_n[,2]],fill=brks),alpha=0.5) +
geom_tile(data=longdata_s,aes(x=lons[longdata_s[,1]],
y=lats[longdata_s[,2]],fill=brks),alpha=0.5) +
scale_fill_manual(breaks=lev_order,values=contour_cols) +
编辑以添加其他信息:
我怀疑它与如何在scale_color_manual
内解释因子的顺序有关,因为当我将行更改为
scale_fill_manual(values=contour_cols)
没有指定中断,这就是它的样子:
请注意,虽然配色方案保持不变,但第一个因素级别现在位于底部。有没有解决这个问题的黑客?
答案 0 :(得分:0)