r - 使用 scale_color_viridis 时设置颜色图中的最大值
问题描述
这是代码:
pic = ggplot(df_2,
aes(x = df_2$X, xend = df_2$X + df_2$dx, y = df_2$Y, yend = df_2$Y + df_2$dy, color = df_2$speedkt)) +
labs(title ="Surface Currents", x = "Longitude", y = "Latitude", colour="Speed (kts)") +
geom_segment(alpha = 0.7, arrow = arrow(length = unit(0.1,"cm"))) + coord_fixed() +
theme(panel.background = element_rect(fill = "transparent",colour = NA), plot.background = element_rect(fill = "transparent",colour = NA)) +
viridis::scale_color_viridis(option = "B", direction = -1)
您可以看到颜色渐变遵循 的值df_2$speedkt
。的最大值df_2$speedkt
约为 2.6。
因此,图例中颜色图的最大值约为 2.8。
但我希望将颜色图的最大值更改为 4.0。
我可以做什么?
解决方案
要回答您的主要问题,您应该能够limits = c(0, 4)
作为参数传递给viridis::scale_color_viridis()
,即
viridis::scale_color_viridis(option = "B", direction = -1, limits = c(0, 4))
其他几点:
- 较新版本的
ggplot2
内置了 viridis 规模,因此您应该能够使用:
scale_color_viridis_c(option = "B", direction = -1, limits = c(0, 4))
- 一般来说,最好不要使用
df$col
inaes()
,只使用列名,例如
ggplot(df_2, aes(x = X, xend = X + dx, y = Y))
ggplot 将在数据框中查找列名。
推荐阅读
- c - 我无法将 char 作为字符串访问
- python - Python 3 dict 按字典列表中的值排序?
- python - Plotly:如何计算和说明趋势线的上下 50%?
- webpack - 如何从项目根目录导入模块?
- react-native - 通过传递一个空数组作为第二个参数,使用“useEffect”钩子只运行一次代码,但是 ESLint 抱怨空数组
- python - 如何在 Plotly 中为 Sankey 图指定节点标签位置
- postgresql - 具有串行字段、规则和错误的 currval / 序列的 PostgreSQL
- django - 无法从同一主机容器连接到 PostGreSQL
- flutter - 如何在不使 draggablescrollablesheet 不可滚动的情况下下推列表视图?
- reactjs - React 状态管理:上下文 API 作为全局存储