python棒棒糖图_R数据可视化9:棒棒糖图 Lollipop Chart

本文介绍了如何使用R语言的ggpubr包制作棒棒糖图,通过实例展示了如何利用数据的cyl列来区分颜色,并提供了从传统柱状图到个性化设计的步骤,包括颜色选择、数据格式调整和图形定制选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

棒棒糖图,“望文生义”,就是长得像棒棒糖的图。听起来就很可爱是不是?今天就让我们一起欣赏一下棒棒糖图。

什么是棒棒糖图

首先让我们来看几张棒棒糖图。可以发现实际上就是一根柱子加上一个圆,其实类似传统的柱状图。但是它可以给我们更多的信息,因为圆和下面的棒子可以代表同一组数据,也可以代表两组数据。“糖”和“棒子”的颜色也一样,可以表示同一个信息也可以表示不同维度的信息。另外,我们还可以变成双头棒棒糖,在棒子的两端分别展现不同的数据。不喜欢传统的圆形?想要亲手DIY?也没有问题,我们可以把传统的圆形糖换成其他图片(比如漫威),以更加直观的展示信息。我们也可以在圈中标记具体的数值,让读者一目了然。

from Google图片搜索

from tableau website

怎么做棒棒糖图

1)需要什么格式的数据

我们用R中自带的一个数据——mtcars。该数据来源于1974年Motor Trend杂志,是关于不同车型的设计和性能的数据统计:

[, 1] mpg Miles/(US) gallon

[, 2] cyl Number of cylinders

[, 3] disp Displacement (cu.in.)

[, 4] hp Gross horsepower

[, 5] drat Rear axle ratio

[, 6] wt Weight (1000 lbs)

[, 7] qsec 1/4 mile time

[, 8] vs Engine (0 = V-shaped, 1 = straight)

[, 9] am Transmission (0 = automatic, 1 = manual)

[,10] gear Number of forward gears

[,11] carb Number of carburetors

稍微对数据进行一点处理:

# Load data

data("mtcars")

dfm

# 转为factor类型的数据

dfm$cyl

# 增加一列name

dfm$name

> head(dfm)

mpg cyl disp hp drat wt qsec vs am gear carb name

Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4

Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Mazda RX4 Wag

Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Datsun 710

Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet 4 Drive

Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Hornet Sportabout

Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 Valiant

2)如何作图

本次使用ggpubr包进行作图。

library(ggpubr)

ggdotchart(dfm, x = "name", y = "mpg",

color = "cyl", # 按照cyl填充颜色

palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改颜色

sorting = "ascending",

add = "segments", # 添加棒子

ggtheme = theme_pubr(), # 改变主题

xlab=""

)

ggdotchart(dfm, x = "name", y = "mpg",

color = "cyl", # 按照cyl填充颜色

palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改颜色

sorting = "descending",

add = "segments", # 添加棒子

add.params = list(color = "lightgray", size = 1.5),#改变棒子参数

rotate = TRUE, # 方向转为垂直

group = "cyl",

dot.size = 6, # 改变点的大小

label = round(dfm$mpg), # 添加label

font.label = list(color = "white", size = 9,

vjust = 0.5), # 设置label参数

ggtheme = theme_pubr(), # 改变主题

xlab=""

)

往期 R数据可视化 分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值