文章目录

  • 简单粗暴堆点
  • 各点有序上升下降
  • 对样本分组绘图

这种图主要是针对一一对应的关系,简洁明了,图形的可读性很强,因为条形图在空间上是二维的,不容易直观建立一一对应的变量关联。

简单粗暴堆点

library(gcookbook)
library(ggplot2)
tophit <- tophitters2001[1:25,]
head(tophit)
A data.frame: 6 × 26
id first last name year stint team lg g ab ... sb cs bb so ibb hbp sh sf gidp avg
<fct> <chr> <chr> <chr> <int> <int> <fct> <fct> <int> <int> ... <int> <int> <int> <int> <int> <int> <int> <int> <int> <dbl>
walkela01 Larry Walker Larry Walker 2001 1 COL NL 142 497 ... 14 5 82 103 6 14 0 8 9 0.3501
suzukic01 Ichiro Suzuki Ichiro Suzuki 2001 1 SEA AL 157 692 ... 56 14 30 53 10 8 4 4 3 0.3497
giambja01 Jason Giambi Jason Giambi 2001 1 OAK AL 154 520 ... 2 0 129 83 24 13 0 9 17 0.3423
alomaro01 Roberto Alomar Roberto Alomar 2001 1 CLE AL 157 575 ... 30 6 80 71 5 4 9 9 9 0.3357
heltoto01 Todd Helton Todd Helton 2001 1 COL NL 159 587 ... 7 5 98 104 15 5 1 5 14 0.3356
aloumo01 Moises Alou Moises Alou 2001 1 HOU NL 136 513 ... 5 1 57 57 14 3 0 8 18 0.3314
ggplot(tophit, aes(x = avg, y = name)) + geom_point()

各点有序上升下降

观察一下上面的图可以发现,点上升得很凌乱,没有规律。因为这里Y轴是按字母序排列的,我们使用reorder来重排一下。reorder会首先将输入的第一个参数转化为因子类型,然后根据第二个参数对其进行排序。

根据上表在theme中调整主题,这里去掉背景的网格。

ggplot(tophit, aes(x = avg, y = reorder(name, avg))) +
geom_point(size = 3) +
# 与默认主题theme_gray相对,背景空白
theme_bw() +
theme(panel.grid.major.x = element_blank(),panel.grid.minor.x = element_blank(), panel.grid.major.y = element_line(colour = 'lightblue', linetype = 'dashed'))

颠倒一下顺序

ggplot(tophit, aes(x = avg, y = reorder(name, -avg))) +
geom_point(size = 3) +
# 与默认主题theme_gray相对,背景空白
theme_bw() +
theme(panel.grid.major.x = element_blank(),panel.grid.minor.x = element_blank(), panel.grid.major.y = element_line(colour = 'lightblue', linetype = 'dashed'))

也可以直接X轴Y轴对调,此时引入更多的美化操作,比如X轴的文本倾斜,以及更细致地调整点和线条。

ggplot(tophit, aes(x = reorder(name, avg), y = avg)) +
geom_point(size = 4, fill = 'lightblue', color = 'lightblue') +
# 与默认主题theme_gray相对,背景空白
theme_bw() +
theme(axis.text.x = element_text(angle = 60,hjust = 1),panel.grid.major.y = element_blank(),panel.grid.minor.y = element_blank(), panel.grid.major.x = element_line(colour = 'orange', linetype = 'dashed', size = 0.8)) +
#设置线段到数据点出结束
geom_segment(aes(xend=name),yend=0,colour='lightblue', size = 1.5)

对样本分组绘图

根据lg和avg对name进行排序,并将其转换为因子水平的level

nameorder <- tophit$name[order(tophit$lg, tophit$avg)]
tophit$name <- factor(tophit$name, levels = nameorder)
ggplot(tophit, aes(x = avg, y =name)) +
geom_segment(aes(yend=name, colour = lg),xend=0, size = 1.5) +
# 按颜色分组
geom_point(size = 3, aes(colour = lg)) +
scale_color_brewer(palette = "Set1", limits = c("NL", "AL")) +
# 与默认主题theme_gray相对,背景空白
theme_bw() +
theme(panel.grid.major.x = element_blank(),panel.grid.minor.x = element_blank(),     panel.grid.major.y = element_blank(), # 将图标移到图的里面去legend.position=c(1, 0.55), legend.justification =c(1, 0.5))

分面图

ggplot(tophit, aes(x = avg, y =name)) +
geom_segment(aes(yend=name),xend=0, size = 1.5, colour = 'grey50') +
# 按颜色分组
geom_point(size = 3, aes(colour = lg)) +
# 取消guide分组
scale_color_brewer(palette = "Set1", limits = c("NL", "AL"), guide = FALSE) +
# 与默认主题theme_gray相对,背景空白
theme_bw() +
theme(panel.grid.major.x = element_blank(),panel.grid.minor.x = element_blank(),     panel.grid.major.y = element_blank())+# 分面图facet_grid(lg~., scales = "free_y", space = "free_y")

拿R来画画(六):很漂亮的Cleveland点图相关推荐

  1. 很漂亮的字体闪烁效果

    很漂亮的字体闪烁效果,我们可以用在一个项目的spalsh界面,进入应用后弹出这个界面,闪烁完毕后跳入主界面,比纯粹的设置背景图片的splash好看炫酷很多. 通过自定义view重写onDraw的方法和 ...

  2. 《包青天》中的《鸳鸯蝴蝶梦》单元,剧中有一个很漂亮的女子叫“离垢”

    <包青天>中的<鸳鸯蝴蝶梦>单元,剧中有一个很漂亮的女子叫"沈离垢".剧中人物通常叫她"离垢","离垢"二字的发音非 ...

  3. 中国六个漂亮的古镇风景名胜区网站欣赏

    古镇,一般指有着百年以上历史的,供集中居住的建筑群.中国历史悠久,广阔土地上有着很多悠久历史.文化底蕴深厚的古镇.今天这篇文章收集了六个漂亮的古镇风景名胜区网站,这些网站的共同特点是都具有复古风格,以 ...

  4. 归纳推理测试没做完_看她家新房,保洁做完还没家具就很漂亮,墙面刷灰色耐看又耐脏...

    每个人的需求与需求,每个人心目中的家都不一样,但我们都可能把家装出想要的效果,让家人,让自己以后生活会更舒适,待在屋里能感受到诗远方.通过别人家的装修,可以借鉴别人家一些相对比较好的经验,在装修过程中 ...

  5. 微软人物立方——效果还很漂亮的

    以前听说过微软人物立方,人物关系图的搜索,今天不知怎么在看陶喆的<11号产房>纪录片的时候看到朱敬然,觉得这人有点意思,不知怎么就用到人物立方来搜索一下了. 感觉这东东对名人,娱乐界的人生 ...

  6. 这个女人,败得很漂亮!看后有感!

    他们结婚三年.有个孩子,是大家公认的模范夫妻,脸红吵架都没有过.她以为,所谓的天长地久,不过如此. 那天,她无意发现他的一条短信:"昨晚分开后,我一直想你,你想我吗?"他正洗澡,哗 ...

  7. 看聊天记录都学不会C语言?太菜了吧》(16)我一直以为校花很漂亮,直到我叫了她一声...

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  8. 从右边开始放_幸福的生活,从入住新房开始,效果很漂亮,忍不住给大家晒晒全屋...

    经济的快速发展,人民生活水平也随之得到了很好的提升,生活质量也有所提高.对于现在很多年轻人来说,结婚总会拥有一套属于自己的房子,真的很让人羡慕.有句话是这样说来的:幸福的生活,从入住新房开始.每个人买 ...

  9. 一些很漂亮的字符图片

    一些很漂亮的字符图片,别人收集的,转过来看看 █田█田█ . █田█田█ . █田█田█ . █田█田█ ∨ █田█田█ /█/ ←各位"兄弟"姐妹 █田█田█ ●     █田█ ...

最新文章

  1. VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法...
  2. 皮一皮:有钱人的世界咱不懂...
  3. Hangry 饥饿成怒 2016-10-03
  4. 【springboot中使用aop的具体步骤和示例】
  5. hdu 4302 STL multiset
  6. java高级知识点_JAVA高级阶段知识点汇总
  7. django批量修改table_django-formset实现数据表的批量操作
  8. 真美 | 你破坏Java代码的样子,真美!
  9. 如何将Excel表批量赋值到ArcGIS属性表
  10. telnet不是内部命令
  11. JavaScript:屏蔽浏览器右键点击事件
  12. linux 下载文件 rz,linux rz/sz上传下载文件命令
  13. 分享一个超酷创建互动文档的Javascript类库 - tangle
  14. 跟我一起玩转A870省电内核、超频内核
  15. 中断linux命令快捷键_Linux常用快捷键和基本命令
  16. STM32/CPU总线的由来和地址映射概念
  17. UE4-(光照)光照贴图
  18. 2013年杰森·斯坦森动作《蜂鸟》720p.BD中英双字幕
  19. MongoDb配置文件中参数及其作用
  20. .Net中的frame框架

热门文章

  1. 基于事件触发的二阶多智能体领导跟随一致性
  2. STM32工程文件的建立以及Keil软件的基本设置和修改
  3. oracle 与plc通信,cim系统(com系统和plc的通讯)
  4. 千年古刹南普陀寺义工十年发展已逾6000人
  5. vue3+ts+vant移动端H5项目搭建
  6. 2019年清华计算机系本校保研推免机考题目
  7. 清华大学计算机相关夏令营,清华大学计算机系举办2014年信息学夏令营
  8. 阿里云RDS云数据库的使用
  9. 青岛理工大学 研究生 吴斌
  10. pinpoint全链路监控安装部署(支持dubbo)