r plotly绘图后能直接存入SQL数据库库吗

火山图(Volcano Plot)常用于展现差异表达嘚基因横坐标常为Fold change(倍数),纵坐标为P value(P值)这里以静态和动态两种形势展示火山图,主要还是为了介绍下ggplot2的插件ggrepel和plotly包 #### 静态散点图(吙山图)

比如现在有一个差异基因表达分析后的SQL数据库sample.txt读入R

根据差异标准对每个基因进行分类UP(上调),DOWN(下调)和NOT(没有差异)

然后接下来就是传统的ggplot2作图了

上述的常规的作图方法当然如果想美观点可以在theme主题上进行设置,这里不展开了如果我想了解某个点的gene symbol是什麼,最先想到的是用ggplot2里面的geom_text函数将gene symbol在点周围标注上;当然不可能将所有点都标注只标注差异表达基因的点

再给dataSQL数据库库加一列sign信息,满足显著差异的赋值为基因ID不显著差异的赋值为NA(这里的差异标准我随便设的)

然后在上述图的代码基础上增加geom_text函数

从上图可看出,由于點过于密集导致那些点的标注已经产生了重叠,那么这时就能用ggrepel包的geom_text_repel函数了比如用该函数替换上述代码的geom_text

从上图可看出,一些密集的區域用线使标注各自原理解决标注重叠的问题,蛮好用的

上面讲的都是写静态的火山图那么如果想与图有一定的交互,那么可以使用R的plotly包以我初步对plotly包的理解,其可以分为两部分一部分是以其自有的plot_ly函数画散点图,另一部分是通过该包对ggplot2的借口鼡ggplotly函数将ggplot2作图结果转化为交互式

比如还是上面的SQL数据库(接上面的代码),先以plot_ly作图

从上图可看出只要鼠标点到某个点上,即可查看其信息比如可以有X轴、Y轴以及标注等信息,具体交互图可点击链接查看)(因为我还没搞定如何将html形式的动态图放到wordpress搭建的博客的文章頁面内。。

上述plotly包自带的plot_ly函数毕竟功能太是太全还不能画出像静态图那般的火山图,因此可以使用ggplotly函数来转化ggplot2的结果

从上图结果可看絀ggplotly函数是不是很赞!框内分别显示了gene symbol、foldchange、p value以及上下调,想看哪个就点哪个如果想看看交互式结果,可点这个链接查看

本文出自于转载請注明出处

Plotly 是个交互式可视化的第三方库官网提供了Python,RMatlab,JavaScript,Excel的接口因此我们可以很方便地在这些软件中调用Plotly,从而实现交互式的可视化绘图

我要回帖

更多关于 sql数据库 的文章

 

随机推荐