You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ggplot绘图如何修改点颜色 设置蓝色却显示红色的原因及修正方法

错误原因

你给出的代码默认显示红色,是因为colour = "blue"的放置位置不符合ggplot的语法逻辑:

  • aes()(美学映射函数)的作用是将数据集的变量关联到图形的视觉属性,你在其中传入固定字符串"blue"时,ggplot不会将其识别为颜色值,而是会把它判定为一个只有单个类别的分类变量,自动调用默认分类调色板为这个类别分配颜色,而ggplot默认调色板的第一个颜色就是红色,因此最终画出的是红色点。
  • 如果你需要为所有点设置统一的固定颜色,不需要关联数据变量,就要把颜色参数放在aes()之外,作为geom_point()的直接参数传入即可。

修正后的正确代码

library(tidyverse)
ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy), colour = "blue")

补充说明

如果后续你需要根据数据集的某列取值区分点的颜色,才需要把colour参数放在aes()内,示例如下:

# 根据车辆类别class区分点的颜色
ggplot(data = mpg) + 
  geom_point(mapping = aes(x = displ, y = hwy, colour = class))

内容的提问来源于stack exchange,提问作者cchen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:06:00