警告...以下是非常初学者的问题:
我正在尝试绘制几千个(X,Y)点的相当规则的分布,每个点都与一个值相关联,称为Z,在-20至+20之间非常不规则地变化。我不想进行平滑处理;我希望点的Z值能够根据平滑变化的颜色调色板进行绘制,就像Gnuplot可以使用适当的平滑颜色调色板一样。我已经尝试了基本的R、ggplot2和latticeExtra,尽可能地做到了以下几点,它几乎可以实现我的要求:
library(lattice)
library(latticeExtra)
library(colorRamps)
df = read.table(file"whatever", header=T)
levelplot(Z~X*Y, df, panel=panel.levelplot.points, cex=0.2,
col.regions=colorRampPalette(c("red","white","blue"))(50))
一个数据点如下:1302525 225167 -3.5
当我以代码中最后一行的"50"作为3来绘制我的数据框时,我会得到可预测的 R 循环行为,红、白和蓝色重复五次,第16个颜色条段是白色。将3改为7会产生更多的红色和蓝色阴影,创建2个重复的颜色范围段,并留下两个带红色的颜色作为颜色范围尝试循环。这表明使此数字变大会导致颜色更加细致。但如果我输入一个大于16的数字,那就是全部,16个彩色段,均匀从红色到白色再到蓝色。但我想让颜色刻度更细,并在完美的世界中强制将 Z 值为零的颜色设置为白色。
迄今为止,我使用 R 的经验是,当我无法做到像这样简单的事情时,我缺少非常基本的概念。它是什么?