暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言每日一图|棒棒糖图

3165
点击关注了解更多哦

最近在同学的推荐下发现一个比较不错的在线交互式绘图平台——chiplot[1],该平台主页如下图所示,网址为https://www.chiplot.online/ 。通过观察图形风格可以发现,图形绘制主要使用R语言Python,因此本系列主要利用R语言Python复原该网站内的图形,一来向网站创作者学习绘图思路,二来帮助一些初学者更好的理解R语言或者Python的绘图code

本期主要复原其中的棒棒糖图(lollipop plot),如上图所示。棒棒糖图属于条形图(bar plot) 的一种,主要用于展示数据的分布状况。

1、数据读入

数据可从该网站上进行下载,也可在公众号后台回复【20221001】进行下载。

library(ggplot2)
setwd("C:\\Users\\Acer\\Desktop")
df <- read.table("棒棒糖图.tsv", sep = "\t", header = TRUE)
head(df)
#        x     y
#1 PT30_11  1.38
32 PT30_17  3.65
#3 PT30_49  2.88
#4 PT34_13  2.96
#5 PT34_14 15.93
#6 PT34_16  2.70
df$overall = "Wechat:日常分享的小懒猫"

2、图形绘制

ggplot(df, aes(x, y)) + 
  geom_segment(aes(xend = x), color = "grey", yend = 0) + 
  geom_point(aes(size = y),color = "#69B3A2", show.legend = FALSE) + 
  scale_size_area(max_size = 12) + 
  scale_y_continuous(breaks = seq(-4,18,2)) + 
  facet_wrap(~overall) + #add title
  theme_classic() + 
  labs(x = "", y = "") + 
  theme(
    panel.grid.major.y = element_line(), 
    axis.text.x = element_text(size = 12, angle = 45, hjust = 1),
    axis.text.y = element_text(size = 12),
    strip.background = element_rect(fill = "grey90", size = 0.5),
    strip.text = element_text(size = 15)
  )

3、其他

关于该图形的交互式绘图可以进一步在chiplot网站上点击尝试。其他绘图方法可进一步阅读本公众号其他推文。


如有帮助请多多点赞哦!

参考资料

[1]

chiplot: https://www.chiplot.online/,


文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论