gpt4 book ai didi

r - 控制点阵密度图中绘图符号的 alpha 值

转载 作者:行者123 更新时间:2023-12-01 17:23:38 25 4
gpt4 key购买 nike

我正在尝试使用lattice库的密度图函数来显示一些数据。我的数据集非常困惑,所以我想减少底部绘制的符号的 alpha 值(这样您就可以在过度绘制的情况下获得更清晰的 View )。但是,我似乎无法仅更改这些符号的 alpha 值而不使实际密度曲线同样不透明。我正在使用图表的 par.settings 选项并为 superpose.line 和 superpose.symbol 设置不同的值(这适用于更改线型和符号,但由于某种原因不是 alpha 值)。我使用虹膜数据集做了一个小例子来说明我的问题/当前的方法。如果有人有任何建议,我将非常感激。

library(lattice) 
data(iris)

graph.settings <- list(superpose.line = list(lty = 1:3, lwd = 2, alpha = 1),
superpose.symbol = list(pch = 1:3, alpha = 0.3))
densityplot( ~ Sepal.Length, data = iris, groups = Species,
auto.key = list(columns = 3), aspect = 1,
main = "Density Plot of Sepal Lengths", xlab = "Length (mm)",
par.settings = graph.settings)

最佳答案

这是一个快速解决方案。它的工作原理是提供一个“自定义”面板函数,该函数调用 panel.densisplot() 两次:第一次调用使用 alpha=0.3 获取地毯点;第二个用 alpha=1 重叠绘制密度曲线。

library(lattice) 
data(iris)

graph.settings <- list(superpose.line = list(lty = 1:3, lwd = 2),
superpose.symbol = list(pch = 1:3))
densityplot( ~ Sepal.Length, data = iris, groups = Species,
auto.key = list(columns = 3), aspect = 1,
main = "Density Plot of Sepal Lengths", xlab = "Length (mm)",
par.settings = graph.settings,
panel = function(x, ...) {
panel.densityplot(x, ..., alpha = 0.3)
panel.densityplot(x, ..., plot.points=FALSE, alpha = 1)
})

关于r - 控制点阵密度图中绘图符号的 alpha 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12404104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com