我正在从Mathematica切换到R,但我发现可视化有些困难.
我正在尝试按如下方式进行热图:
short
penetration scc pi0
1 0 0 0.002545268
2 5 0 -0.408621176
3 10 0 -0.929432006
4 15 0 -1.121309680
5 20 0 -1.587298317
6 25 0 -2.957853131
7 30 0 -5.123329738
8 0 50 1.199748327
9 5 50 0.788581883
10 10 50 0.267771053
11 15 50 0.075893379
12 20 50 -0.390095258
13 25 50 -1.760650073
14 30 50 -3.926126679
15 0 100 2.396951386
16 5 100 1.985784941
17 10 100 1.464974112
18 15 100 1.273096438
19 20 100 0.807107801
20 25 100 -0.563447014
21 30 100 -2.728923621
mycol
ggplot(data = short, aes(x = penetration, y = scc)) +
geom_tile(aes(fill = pi0)) +
scale_fill_gradientn(colours = mycol)
我得到了这个:
但是我需要这样的东西:
也就是说,我希望颜色在绘图表面上连续(降级)而不是每个正方形的离散.我在其他SO问题中看到有些人插入de数据,但我认为在ggplot调用中应该有一种更简单的方法(默认情况下在Mathematica中完成).
此外,我想锁定色标,使得0总是白色(因此在暖色之间分离为正值,冷色之间为负值),并且颜色分布在各个图中始终相同,与数据范围无关(因为我将对几个数据集使用相同的绘图结构)