参考链接:
https://github.com/gkaramanis/tidytuesday/blob/master/week-42/big-epa-cars.R
#######################################################################
学习到的技能(需要掌握的函数)
#######################################################################
pivot_longer()函数: 宽数据变长数据。forcats包对于处理factor相关操作非常方便,绘图排序经常用到row_number()函数:通用排名,并列的名次结果按先后顺序不一样,靠前出现的元素排名在前
画图思路
数据清洗就不说了,一如既往的结合
filter() + group_by() + summarize() + ungroup() + mutate()等常用函数
数据清洗
提一下:在只看到这里数据清洗的视化并未理解为啥要产生lane这个变量,直到,看了后面可视化geom_image(data = city_race, aes(x = lane, y = city_mpg_median, image = car), size= .05, asp = 0.6)后,才发现原来是给图中的小车子标识位置,一种公路分两列,又一次跪拜。
1 | # 没有这些包的先自行安装。 |
产生的数据格式是这样的

导入图中的小车 png 图片
注意:这里先将图片保存在自己当前环境的路径下1
2
3# Icon by mynamepong, flaticon.com
# here() 函数上一次介绍过就不介绍了,就是当前路径
car = here::here("car.png")
绘图
大致思路:用geom_rect()绘制一个大的灰色背景幕布 →geom_rect()绘制城市公路,哈哈(就是途中的黑色)→ 再绘制公路中间的虚线(白色虚线)→ 同城市公路绘制高速公路 → 通过geom_image()把小车图标加上去,哈哈()萌死我了 → 使用geom_text()加上车子类型注释,注意其中的参数hjust参数一左一右 → 使用geom_segment加上刻度尺,这里太机智了,我的妈欸(分了左右,而不是在一条线上)→xlim()函数标注 x 轴的范围 →labs()加上标题啊、小标题啊、脚注啊等等 → 主题优化总之逻辑特别清晰,一步紧跟一步,绘图代码部分,一步一步运行就好,简单粗暴易理解,真的是学习的好案例。( 作者脑洞真的大,也可能是我脑子太小了 )
1 | ggplot() + |
