最近在线绘图网站有点火,连续有文章发表出来,有人高呼,生信工程师要失业了,这种想法好傻好天真。

这不,问题来了。

正好借此解决问题的机会,科普一下为何不能过度依赖网站,而是应该把基础打好,特别是从业人员。

问题是这样的,有朋友在某网站画一个雷达图,她的数据是:

kable(tb)
Group CELL CYCLE HIPPO MYC NOTCH PI3K RTK-RAS TGF-β TP53 WNT
Metastasis 9 30 7 29 15 25 9 17 30
NonMetastasis 1 23 5 21 11 25 10 16 19

结果出错了,报错信息如下:

Error: 'plot.data' contains value(s) > grid.max

凭经验,网站后台画图调用的是ggradar这个包,错误信息的意思是:

用于画图的数据表包含大于 grid.max 这个参数的值。

我们查看一下ggradar包的帮助:

ggradar(plot.data,base.size = 15,font.radar = "sans",values.radar = c("0%", "50%", "100%"),axis.labels = colnames(plot.data)[-1],grid.min = 0,grid.mid = 0.5,grid.max = 1,...

可以看到,grid.max 的默认值是 1,如果用于画图的数据表中有值大于 1,自然就会出错。

雷达图类似于一个蜘蛛网,由各种圆圈以及连线组成,下列 3 个参数用来设置圆圈:

  • grid.min,最小值,即最小的圆圈代表的值

  • gird.mid,中间值,即中间圆圈代表的值

  • grid.max,最大值,即最外层圆圈代表的值

这 3 个值定义好之后,数据表中的值就可以在雷达图上找到自己的位置了。

默认情况下:

  • grid.min = 0

  • grid.mid = 0.5

  • gird.max = 1

这表示ggradar默认是为归一化数据作图的,而输入数据没有归一化,所以报错了。

找到了原因,解决方法也就有了:

  1. 将数据归化,然后画图

  2. 改默认参数,然后画图

我们这里通过改默认参数来画图:

library(ggradar)ggradar(tb, grid.min = 1,grid.mid = 15,grid.max = 30, values.radar = c(1,15,30))

非常丝滑。

ggradar包还有非常多的参数可用于定制雷达图,比如调整各种线条的颜色以及字体大小等,可以根据需要进行修改。

在线工具有时候不靠谱,关键时刻还是需要线下工具(人)。

我最后把在 Rstudio 里面用 ggradar 画图的代码给朋友看,她惊呼:天哪,就这么简单吗,难道我真要学 R ?

粉丝福利

学生信,计算机基础一定要好。毫不夸张地说,计算机基础决定了你能否入门,而生物学修养决定你能走多远。没有出发,如何走得远?

  • 从零开始学生信交流群,免费咨询,量身定制学习计划

关键时刻还得看咱生信工程师相关推荐

  1. 肿瘤NGS测序公司生信工程师水平划分

    生信工程师能力划分 1.大头兵 (1)初级生信工程师 工作职责 任职要求 (2)中级生信工程师 工作职责 任职要求 (3)高级生信工程师 工作职责 任职要求 2.主管/经理 职位描述 任职要求 3.总 ...

  2. 【lnmp】require(): open_basedir restriction in effect.【百度不是万能的,关键时刻还得靠自己】

    TP5的项目,多模块设置多多个站点入口: 推上线时一堆问题,之一:权限问题 由于所有模块公用 thinkphp框架文件,在调用时报错 require(): open_basedir restricti ...

  3. 送书 | 知乎阅读300w+的生信学习指南(更新版)

    先送书 在上周的留言送书活动中,恭喜下面这位读者获得书籍"Oracle高性能系统架构实战大全",请及时与生信宝典编辑(shengxinbaodian)联系. 2020过去三分之一了 ...

  4. 生信宝典:生物信息学习系列教程、视频、资源

    生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...

  5. 引用另一模板的宏_生信人值得拥有的编程模板Shell

    前言 "工欲善其事必先利其器",生信工程师每天写代码.搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Integrated Development Environ ...

  6. 事态升级是什么意思_为什么有的人越到关键时刻越容易掉链子?记住不要有“赌徒心理”...

    今天,为大家分享晚清重臣曾国藩的一句话,讲述的是"赌徒心理". 生活中,往往会有这样一种怪象,很多人平时能力很强,表现也不错,但是一到关键时刻就容易掉链子,将一腔心血付诸东流,无奈 ...

  7. 生信软件c语言,科学网—[转载]没有docker我真的不想动这样的生信软件 - 张成岗的博文...

    没有docker我真的不想动这样的生信软件 2020-03-26阅读 2620 C语言源代码需要编译的软件 最开始开发者都是C语言流派, 所以标准的源代码安装三部曲即可,即使 configure+ma ...

  8. 生信人值得拥有的编程模板-Shell

    前言 "工欲善其事必先利其器",生信工程师每天写代码.搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Integrated Development Environ ...

  9. 生信人写程序2. Editplus添加Perl, Shell, R模板和语法高亮

    https://www.editplus.com/ 前言 "工欲善其事必先利其器",生信工程师每天写代码.搭流程,而且要使用至少三门编程语言,没有个好集成开发环境(IDE,Inte ...

最新文章

  1. pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization...
  2. mysql导入导出数据库
  3. MySQL解压缩安装
  4. 项目开发中关于jquery中出现问题小结(textarea,disabled,关键字等)
  5. python程序把文件编码转换
  6. PyTorch基础-softmax函数mnist数据集识别-03
  7. python flask html模板,python flask web开发实战 Jinja2模板
  8. JAVA常见算法题(二十五)
  9. outlook删除web邮件服务器,从Outlook中删除 Web 邮箱策略Exchange Online
  10. vue 时间插件限制选择时间
  11. [笔记]unity渲染相关各种方案总结
  12. OpenCV提取图书条码(ISBN码)
  13. Arduino入门教程--连载
  14. metro样式开机启动菜单_如何在Windows 8中获取Metro风格的开始菜单和开始按钮
  15. python中count什么意思_python中函数COUNT()的功能是什么
  16. STM32F103C8T6+ST7735TFT LCD彩屏驱动程序
  17. 数商云:补齐数字化短板,农林牧渔供应链升级执行“三步走”
  18. 网管员必知:常用电脑密码破解(转)
  19. 马云的SNS梦美好却残酷
  20. 物流软件行业Top企业概况与各地发展优劣势分析

热门文章

  1. PCL点云库调库学习系列——k-d tree与八叉树
  2. 从郭美美霸气侧漏看项目管理之项目经理防身术
  3. 27. 黑客常用端口利用总结
  4. 使用EMQX搭建MQTT服务器,实现设备的通信(1)
  5. python去除\n
  6. 我爱发明快餐计算机,一种快餐行业的快速就餐智能系统
  7. 苹果手机怎么下载python123_苹果手机怎么下载端游吃鸡
  8. 完美解决 Adobe Acrobat XI安装后闪退和停止工作问题
  9. 【Anaconda3】更新conda的方法
  10. java算小数_Java 小数精确计算问题