设置viridis或RColorBrewer中颜色范围的参考值

时间:2016-06-19 09:58:00

标签: r plot ggplot2

我想使用包$stmt = $this->conn->prepare("SELECT table_2_id from table_1 WHERE reg_no = ?"); $stmt->bind_param("s", $reg_no); $stmt->execute(); $stmt->bind_result($table_2_id); $stmt->fetch(); $stmt->close(); $stmt = $this->conn->prepare("SELECT * from table_1 WHERE id = ?"); $stmt->bind_param("i", $table_2_id); $stmt->execute(); ... viridis中的调色板制作绘图,但我想设置变量分布中的哪个点应该被视为颜色渐变的中间点

例如,在下面的图中,R取0.5作为颜色范围的中间点。如何设置不同的值,例如0.25?

RColorBrewer

enter image description here

library(ggplot2)
library(RColorBrewer)

# data
set.seed(1)
df <- expand.grid(x = 0:5, y = 0:5)
df$z <- runif(nrow(df))

# plot
ggplot(df, aes(x, y, fill = z)) + geom_raster() +
  scale_fill_distiller( palette="RdBu", guide = "colorbar")

enter image description here

编辑:我在这里寻找类似于此的解决方案,因为我的变量的分布不对称。但是,我想保持整个颜色范围从深蓝色到深红色,这似乎是不可能的。

# plot using viridis
library(viridis)

ggplot(df, aes(x, y, fill = z)) + geom_raster() +
  scale_fill_viridis()

enter image description here

1 个答案:

答案 0 :(得分:-1)

也许尝试设置

{{1}}

其中zlim是数据的极值。