代码如下:
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。
我能做什么?
答案 0 :(得分:4)
要回答您的主要问题,您应该可以将limits = c(0, 4)
作为参数传递给viridis::scale_color_viridis()
,即
viridis::scale_color_viridis(option = "B", direction = -1, limits = c(0, 4))
其他几点:
ggplot2
的较新版本内置了绿色刻度,因此您应该可以使用:scale_color_viridis_c(option = "B", direction = -1, limits = c(0, 4))
df$col
中使用aes()
,而只使用列名,例如ggplot(df_2, aes(x = X, xend = X + dx, y = Y))
ggplot将在数据框中查找列名。