我想绘制垂直线图(如本页的第一张图):

交易是我有大约 15k 个数据点,我想呈现其频率(沿 Y 轴)。我还希望能够以不同的颜色呈现频率:例如,对于第一个 5k 点,我想要下一个 5k 的黄色折线图,我想要红色等。
我怎样才能在 R 中做到这一点?指向包的指针(以及在可能的情况下指向有用的源代码)将非常有用。R的初学者在这里。
谢谢你。
我想绘制垂直线图(如本页的第一张图):

交易是我有大约 15k 个数据点,我想呈现其频率(沿 Y 轴)。我还希望能够以不同的颜色呈现频率:例如,对于第一个 5k 点,我想要下一个 5k 的黄色折线图,我想要红色等。
我怎样才能在 R 中做到这一点?指向包的指针(以及在可能的情况下指向有用的源代码)将非常有用。R的初学者在这里。
谢谢你。
您可以使用plot函数 withtype="h"来获取垂直线并col指定颜色,rep用于创建所需的颜色矢量,如下所示:
# simulate some data
x <- runif(15000)
x[sample(15000, 50)] <- runif(50, 0, 5)
# make the plot
plot(x, type="h", col=rep(c("red", "blue", "green"), each=5000))
这使得以下内容(黄色看起来很糟糕):

将条形图与 grDevices-package 结合使用来创建调色板。
require(grDevices)
# data
dat <- sample(1:10,15000,prob=runif(10),replace=T)
dat <- sort(dat)
plotdat <- as.data.frame(table(dat))
plotdat[,2] <- plotdat[,2]/sum(plotdat[,2])
# generate colors
colors <- heat.colors(10)
# and sort them according to frequency
colors <- colors[order(order(plotdat[,2],decreasing=T))]
barplot(plotdat[,2],names.arg=as.character(1:10),col=colors)
这将创建一个具有“色热越高,频率越高”属性的图
