侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

使用scale_color_viridis时,在colormap中设置最大值

2023-05-07 星期日 / 0 评论 / 0 点赞 / 84 阅读 / 1565 字

这是代码: 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$

... . . 这是代码:

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.

但我希望将colormap的最大值更改为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",4))

>一般来说,最好不要在aes()中使用df $col,只需使用列名,例如:

ggplot(df_2,aes(x = X,xend = X + dx,y = Y))

ggplot将在数据框中查找列名.

. . .. ...

广告 广告

评论区