1 散点图为什么不好看?
散点图算是科研里最常用的图形之一,但说句实话,它也可能是最容易“看着难受”的图。点一多就乱,颜色稍微一鲜艳就有点“彩虹泡泡机”的既视感。以前在组会上,我几乎不太爱用散点图,但很多时候又必须用它,比如展示两个连续变量的关系、趋势判断、对比分布……论文里也经常出现,所以今天的更新,我想把自己这几年摸索的配色风格的经验打包一下,专门聊聊:散点图到底怎么做,才能既好看又专业?
2 Nature 风格的三条核心审美原则
还是按照以前的风格,我们的审美还是向Nature靠拢。来看2种Nature风格的散点图,一种是单独的一种是分组比较的散点图。 至于美学优化方面,把握以下三个原则:
第一,颜色克制。 低饱和度、柔和色,不要大红大紫,一看就很舒服。
第二,大面积留白。 背景干净,不堆网格、不堆线条,视觉焦点完全留给数据。
第三,重点突出但不夸张。 需要趋势线就轻轻画一下,需要分组就自然地区分,不用粗暴强调。
3 Nature 风格散点图示例 1
极简专业风:单色 + 透明度 + 轻趋势线
第一种风格尤其适合展示趋势关系,干净且高级。
library(ggplot2)
# Nature-like minimalist scatter
ggplot(iris, aes(x = Sepal.Length, y = Petal.Length)) +
geom_point(color = "#325D88", alpha = 0.6, size = 2) + # 低饱和蓝色
geom_smooth(method = "lm", se = FALSE, color = "#2C3E50", linewidth = 0.8) +
theme_minimal(base_size = 14) +
theme(
panel.grid = element_blank(),
axis.title = element_text(size = 13),
axis.text = element_text(size = 12, color = "black"),
axis.line = element_line(color = "black", linewidth = 0.6),
plot.title = element_text(hjust = 0.5, size = 15, face = "plain")
) +
labs(
x = "Sepal Length",
y = "Petal Length",
title = "Minimalist Nature-style Scatter Plot"
)
4 Nature 风格散点图示例 2
分组色系:低饱和自然色 + 图例标题
第二种风格适用于分组比较,同时保持 Nature 的简约美学。
library(ggplot2)
# 自定义 Nature-style 低饱和色系
nature_pal <- c(
setosa = "#4C72B0", # muted blue
versicolor = "#55A868", # muted green
virginica = "#C44E52"# muted red
)
# Grouped Nature-style scatter with legend title
ggplot(iris, aes(x = Sepal.Width, y = Petal.Width, color = Species)) +
geom_point(alpha = 0.7, size = 2) +
scale_color_manual(values = nature_pal) +
theme_classic(base_size = 14) +
theme(
panel.grid = element_blank(),
axis.title = element_text(size = 13),
axis.text = element_text(size = 12, color = "black"),
axis.line = element_line(color = "black", linewidth = 0.6),
legend.title = element_text(size = 12, face = "plain"), # 图例标题
legend.position = "right",
plot.title = element_text(hjust = 0.5, size = 15, face = "plain")
) +
labs(
x = "Sepal Width",
y = "Petal Width",
color = "Species", # 图例标题内容
title = "Grouped Scatter Plot in Nature-style Color Palette"
)
这种图特别适合生物学、医学、环境科学这种多组比较的文章。
5 小结
今天我们聊了很多技巧,但核心就是通过简化配色来突出数据趋势,低饱和色搭配适当透明度,是最简单也最有效的提升方式。两段R代码可以直接运行,欢迎你更换为自己的数据,练习获得高质量图形。
感谢关注,你的支持是我不懈的动力!

