【问题标题】:line colors in RR中的线条颜色
【发布时间】:2021-09-29 23:23:03
【问题描述】:

我有一个列表列表,我想绘制每个列表的分布。每个分布应该是不同的颜色。 R中是否有任何预定义的颜色列表,这样我就不需要自己编写颜色列表了? (列表可能会变得很长,我不想每次都检查,如果列表的长度与数据相同!)

另一个问题是 x 轴和 y 轴限制。我怎样才能以一种涵盖图中显示的所有值的方式放置它们? (如果运行下面的代码,右边的红线被剪掉了)

到目前为止我写的是:

dput(degree.l)
list(c(schwab = 0, pnc = 0.0344827586206897, jpm = 0.0862068965517241, 
amex = 0.0862068965517241, gs = 0.103448275862069, ms = 0.103448275862069, 
bofa = 0.103448275862069, citi = 0.103448275862069, wf = 0.120689655172414, 
spgl = 0.120689655172414, brk = 0.137931034482759), c(schwab = 0.0166666666666667, 
pnc = 0.05, ms = 0.0666666666666667, spgl = 0.0833333333333333, 
jpm = 0.1, bofa = 0.1, wf = 0.1, amex = 0.1, gs = 0.116666666666667, 
brk = 0.116666666666667, citi = 0.15), c(schwab = 0.0428571428571429, 
gs = 0.0714285714285714, pnc = 0.0714285714285714, citi = 0.0857142857142857, 
amex = 0.0857142857142857, spgl = 0.0857142857142857, jpm = 0.1, 
brk = 0.1, ms = 0.114285714285714, wf = 0.114285714285714, bofa = 0.128571428571429
))

colors <- c("red","blue")
density.plot <- function(cent.l){
  plot(density(cent.l[[1]]), col="orangered")
  for(i in 2:length(cent.l)){
    lines(density(cent.l[[i]]), col= colors[i-1])
  }

}
density.plot(degree.l)

【问题讨论】:

  • 对于您的第一个问题,RColorBrewer 具有可索引的预定义调色板。如果有许多(> 100)颜色的调色板。
  • 我确实试过了,但是里面有一些非常浅的颜色,这使得情节难以阅读。不过谢谢。 @HarrySmith

标签: r plot colors visualization


【解决方案1】:

您想选择一个定性的调色板来区分不同的线条。为了使坐标轴正确,您必须在绘图之前计算所有密度:

degree.d <- lapply(degree.l, density)
rng <- sapply(degree.d, function(y) range(y$x))
xrng <-c(min(rng[1]), max(rng[2]))
yrng <- c(0, max(sapply(degree.d, function(z) max(z$y))))

这通过获取所有线条的范围来计算绘图的 x 轴和 y 轴范围。现在得到你的颜色:

hcl.pals("qualitative")
# [1] "Pastel 1" "Dark 2"   "Dark 3"   "Set 2"    "Set 3"    "Warm"     "Cold"     "Harmonic" "Dynamic" 
clrs <- hcl.colors(3, "Dark 3")

我们列出定性调色板并从调色板“Dark 3”中选择三种颜色。现在我们可以绘图了:

plot(NA, xlim=xrng, ylim=yrng)
invisible(lapply(1:3, function(z) lines(degree.d[[z]]$x, degree.d[[z]]$y, col=clrs[z])))

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 2014-11-17
    • 2021-11-23
    • 1970-01-01
    • 2014-05-11
    • 2015-06-22
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多