HF.093 | 数据有点甜!来一口棒棒糖图

学术   2024-11-14 08:01   广东  


直观可靠的数据可视化对于研究成果的展示和科研文章的发表至关重要。棒棒糖图(Lollipop Chart)是一种数据可视化工具,主要用于展示类别数据的比较。它结合了柱状图和折线图的特点,柱子通常代表数据的数值,而顶部的圆点(如同棒棒糖的糖果部分)则表示具体的数值。


图 棒棒糖图示例

DOI:

10.1016/j.ccell.2023.09.011

10.1038/s41586-024-07654-z   


01棒棒糖图介绍



棒棒糖图的结构通常包括一根竖直或水平的线(表示数值)和一个圆点(表示类别)。

以下是棒棒糖图的一些主要特点:


🔵  1.1 清晰易懂

棒棒糖图通过简单的视觉元素,使得数据的比较变得直观,易于理解。


🔵  1.2 美观

相比传统的柱状图,棒棒糖图显得更加简洁、现代,视觉效果更佳。


🔵  1.3 突出重点

圆点的使用可以帮助观众更容易地识别和关注特定的数据点。


🔵  1.4 节省空间

由于线条的设计,棒棒糖图在展示相同数量的数据点时,通常比柱状图占用更少的空间。


🔵  1.5 适用范围广

适合展示类别数据,尤其是在数据量不大的情况下,能够有效地传递信息。




02棒棒糖图实战



🔵  代码整体呈现:

library(ggplot2)library(dplyr)library(viridis)  # 加载viridis包
# 随机构建数据data <- data.frame(xv = LETTERS[1:12],                   yv = abs(rnorm(12)))data <- data %>%  mutate(mycolor = ifelse(yv > 1, "Y>1", "Y<=1")) # 设置分组
## fig 2 :简单优化后的图形fig <- ggplot(data, aes(x = reorder(xv, -yv), y = yv, fill = mycolor)) +  geom_segment(aes(x = reorder(xv, -yv), xend = reorder(xv, -yv), y = 1, yend = yv, color = mycolor),               linewidth = 2, linetype = 1) +  geom_point(size = 5, pch = 21, color = "black") +  # 在散点上显示数值并保留两位小数  geom_text(aes(label = sprintf("%.2f", yv)), color = "black", size = 1.6) +  xlab("group") +  scale_y_continuous("Value", breaks = c(0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2)) +  coord_flip() +  theme_minimal() +  scale_fill_brewer(palette = "Set1") +  # 使用 RColorBrewer 的调色板  scale_color_brewer(palette = "Set1")   # 使用 RColorBrewer 的调色板
# 显示图形print(fig)

图 棒棒糖的可视化绘制图


03水文中的甜点:用棒棒糖图揭开水文数据的秘密



在水文领域,棒棒糖图可以作为一种直观有效的可视化工具,用来展示不同水文参数、模型输出或比较不同水体之间的差异。它可以帮助研究者和管理人员快速理解数据之间的关系和大小,做出更科学的决策,特别适用于展示流量、降水量、河流水质等水文数据的变化和排序


一图胜千言!水文图绘改版后致力于分享水文相关的精美图表,为读者提供作图思路和经验,帮助大家制作更漂亮丰富的图表。同时欢迎留言咨询绘图难点,我们会针对性地分享相关绘制经验。另外也期待读者踊跃来稿,分享更好的构图思维和技巧,稿件可发送至邮箱hydro90@126.com, 或者联系微信17339888901投稿。

编辑:张海昕 孙铬遥|校稿:hydro90编委团


Hydro90
水文青年学术交流平台
 最新文章