我假设ggplot scale创建某种函数,它读取相应的aes
值并返回colour
,size
等。这可以用作独立函数吗?
例如,对于此函数,我将传递必要的参数(range
,limits
,high
,low
等)和我想要的值得到映射,函数的输出将是colour
/ size
/ etc。
# example of usage
HypotheticalScaleFunction(
range = c(0,10),
high = '#000000',
low = '#222222',
ValueToLookup = 5
)
# this should return -
"#111111"
答案 0 :(得分:2)
您可以通过输入缩放功能来阅读来源。例如,如果您仔细阅读ggplot2::scale_color_continuous
的来源,则会发现它使用seq_gradient_pal
包中的scales
。
因此,对于连续比例的颜色,我们可以定义以下函数(使用ggplot
使用的默认值):
ColorScaleFunction <- function(Range, high = "#56B1F7", low = "#132B43", ValueToLookup) {
seq_gradient_pal(low, high)((ValueToLookup - Range[1]) / diff(Range))
}
这会产生默认情况下的典型深蓝色,例如热像图。
虽然在你的例子中产生了#161616
。