ggplot2常用参数

🧱 一、ggplot2 绘图基本结构

ggplot(data = <DATA>) +
  <GEOM FUNCTION>(mapping = aes(<MAPPINGS>)) +
  <SCALE / COORDINATE / FACET / THEME 等函数>

🎨 二、核心对象类型与函数

1. 常见 geom_*() 函数分类

类型 函数示例
单变量 geom_bar(), geom_histogram(), geom_density()
双变量 geom_point(), geom_line(), geom_smooth()
箱线/小提琴 geom_boxplot(), geom_violin()
区域图 geom_area(), geom_ribbon()
文本标签 geom_text(), geom_label()
极坐标 coord_polar()
地图绘制 geom_polygon(), map_data()

🧰 三、常用参数详解

参数名 示例 含义
color "red" or hex "#FF0000" 线条或边框颜色
fill "blue" 填充颜色
size 2, 3.5 点/线粗细大小
shape 1~25'a' 点的形状
linetype "solid", "dashed" 线条样式
alpha 0.5(透明度) 半透明程度(0~1)

📊 四、统计变换(stat_*)

  • stat_bin(): 直方图
  • stat_density(): 密度图
  • stat_summary(): 汇总(均值、标准差等)
  • stat_smooth(): 拟合线(如 LOESS)
  • stat_ellipse(): 椭圆置信区间
  • stat_contour(): 等高线图

🧮 五、分面显示(Faceting)

函数 用法说明
facet_wrap(~var) 按变量 var 分面,自动换行
facet_grid(row ~ col) 网格形式固定布局分面
labeller 自定义标签,如 label_bquote() 支持公式渲染

🖼 六、坐标系与缩放控制

  • coord_cartesian(xlim = c(0, 100)): 裁剪显示区域,不影响数据统计
  • scale_x_continuous(limits = c(0, 100)): 更改范围,影响统计
  • coord_flip(): 横纵互换
  • coord_polar(): 极坐标图
  • coord_quickmap(): 地图投影

🎚 七、刻度和比例尺(scales)

类型 函数例子
连续型 scale_x_continuous(), scale_fill_gradient()
离散型 scale_color_manual(values = ...), scale_shape_manual()
颜色调色板 scale_fill_brewer(palette = "Set1"), viridis 支持
比例控制 scale_size_area(max_size = 6)

📐 八、位置调整(position)

  • position_dodge(): 条形图并列
  • position_stack(): 条形图堆叠
  • position_jitter(): 随机抖动(点图防重叠)
  • position_fill(): 百分比堆叠

🖌 九、主题(theme)

主题函数 说明
theme_minimal() 极简风格
theme_classic() 经典黑白风格
theme_bw() 黑白背景
theme_void() 空白背景
theme() 细化控制 自定义字体、背景、网格等元素样式

示例:

theme(
  plot.title = element_text(hjust = 0.5, face = "bold"),
  panel.background = element_rect(fill = "lightblue")
)

🏷 十、标题与图例控制

  • labs(title = "标题", subtitle = "副标题", x = "X轴", y = "Y轴")
  • guides(fill = "none"): 隐藏 fill 图例
  • theme(legend.position = "bottom"): 设置图例位置

🗺 十一、地图绘制支持

使用 maps::map_data() 结合 geom_polygon() 可绘制地理区域图,搭配 coord_quickmap() 做投影校正。


posted @ 2025-05-23 23:21  tomorgen  阅读(86)  评论(0)    收藏  举报