关于使用percent_format()及R语言ggplot2绘图代码的翻译需求
用
percent_format()函数实现的朝韩比例对比可视化代码解析 咱们来拆解这段基于R语言ggplot2包的可视化代码,它主要用来对比朝鲜(North Korea)和韩国(South Korea)的相关比例数据,核心用到percent_format()函数来优化轴标签的显示效果:
第一步:数据格式重塑
首先用tidyr包的gather()函数把宽格式数据集转成长格式,方便后续绘图调用:
frequency <- gather(frequency, country, proportion, `North Korea`:`South Korea`)
这段代码会把frequency数据集中从North Korea到South Korea的所有列,重新整理为两列:
country:存储国家名称(North Korea/South Korea)proportion:存储对应国家的比例数值
第二步:核心可视化代码
接下来是ggplot绘图的核心逻辑,代码实现了带参考线、抖动散点和文本标签的双对数轴散点图:
ggplot(frequency, aes(x = `South Korea`, y = `North Korea`, color = difference)) + geom_abline(color = "gray40", lty = 2) + geom_jitter(alpha = 0.1, size = 2.5, width = 0.3, height = 0.3) + geom_text(aes(label = word), check_overlap = TRUE, vjust = 1.5) + scale_x_log10(labels = percent_format()) + scale_y_log10(labels = percent_format()) + scale_color_gradient(limits = c(0, 0.001), low = "darkslategray4", high =...
逐行解释下关键部分:
- 初始化ggplot时,指定x轴为韩国的比例值、y轴为朝鲜的比例值,点的颜色由
difference字段的数值决定 geom_abline()添加一条灰色虚线作为参考线,方便对比数据分布geom_jitter()生成抖动散点:设置低透明度(alpha=0.1)避免密集点遮挡,通过width和height控制抖动范围,解决点重叠问题geom_text()为每个点添加文本标签(内容来自word字段),开启check_overlap=TRUE自动隐藏重叠标签,vjust=1.5把标签放在点的下方- 重点:
scale_x_log10(labels = percent_format())和scale_y_log10(labels = percent_format())——将x、y轴设为对数刻度的同时,用percent_format()把轴上的数值转换为百分比格式显示,让比例数据更直观 scale_color_gradient()设置颜色渐变规则:限定颜色映射范围为0到0.001,低数值对应深灰色,高数值对应代码未写完的高亮色
内容的提问来源于stack exchange,提问作者Winston Willett
相关产品推荐
相关产品推荐

