基于 R 的 filled.contour 热图的自定义色标
Custom color scale for filled.contour heatmap with base R
我有想用的这种调色板
palette <- colorRampPalette(c("darkblue", "blue", "lightblue1",
"green", "yellow", "red", "darkred"))
说明我的图表目前的样子
我已经使用 filled.contour()
绘制了这张图并做了一些修改。
下面是制作有点类似图表的部分代码
load("workspace.RData")
library(lubridate)
breaks <- "2 hours"
palette <- colorRampPalette(c("darkblue", "blue", "lightblue1",
"green", "yellow", "red", "darkred"))
f <- function(x) as.POSIXct(levels(cut(x, breaks)))
filled.contour(x = data$Time,
y = log10(channels),
z = df,
color.palette = palette,
plot.axes = axis(1, at = f(data$Time),
labels = format(f(data$Time), "%H:%M")))
使用 data
、channels
和 df
来自 save.image()
的 save.image()
。
现在该函数使右侧的颜色图例默认看起来像这样。我想自己指定深蓝色对应于 0,深红色对应于某个用户定义的值,例如 2000 万。
我想要这个是因为如果我要将此数据的图表与其他一些数据的图表进行比较,它们将具有完全相同的颜色图例。
如果我需要提供更多信息或其他信息,请告诉我。
编辑:
将我工作区中的数据作为 workspace.RData 文件提供。
levels
(和nlevels
)参数似乎可以很好地完成工作......我觉得很愚蠢。
我有想用的这种调色板
palette <- colorRampPalette(c("darkblue", "blue", "lightblue1",
"green", "yellow", "red", "darkred"))
说明我的图表目前的样子
我已经使用 filled.contour()
绘制了这张图并做了一些修改。
下面是制作有点类似图表的部分代码
load("workspace.RData")
library(lubridate)
breaks <- "2 hours"
palette <- colorRampPalette(c("darkblue", "blue", "lightblue1",
"green", "yellow", "red", "darkred"))
f <- function(x) as.POSIXct(levels(cut(x, breaks)))
filled.contour(x = data$Time,
y = log10(channels),
z = df,
color.palette = palette,
plot.axes = axis(1, at = f(data$Time),
labels = format(f(data$Time), "%H:%M")))
使用 data
、channels
和 df
来自 save.image()
的 save.image()
。
现在该函数使右侧的颜色图例默认看起来像这样。我想自己指定深蓝色对应于 0,深红色对应于某个用户定义的值,例如 2000 万。
我想要这个是因为如果我要将此数据的图表与其他一些数据的图表进行比较,它们将具有完全相同的颜色图例。
如果我需要提供更多信息或其他信息,请告诉我。
编辑:
将我工作区中的数据作为 workspace.RData 文件提供。
levels
(和nlevels
)参数似乎可以很好地完成工作......我觉得很愚蠢。