隐约 發表於 2022-2-17 08:34:12

R语言绘制数据可视化Dumbbell plot哑铃图

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>Step1. 绘图数据的准备</li><li>Step3. 绘图所需package的安装、调用</li><li>Step4. 绘图</li><ul class="second_class_ul"><li>改变size的大小</li><li>调整顺序</li></ul></ul></div><p>又是一年春来到,小仙祝大家在新的一年开开心心、顺顺利利!<br />今天给大家分享的图是哑铃图(Dumbbell plot)。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832511.png" /></p>
<p class="maodian"></p><h2>Step1. 绘图数据的准备</h2>
<p>首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式。<br />作图数据格式如下:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832512.png" /></p>
<p>Step2. 绘图数据的读取</p>
<div class="jb51code"><pre class="brush:ruby;">data &lt;- read.csv(“your file path”, header = T, check.names=F)
#注释:header=T表示数据中的第一行是列名,如果没有列名就用header=F
#注释:R读取数据的时候,默认会把列名里的空格变成 ".",check.names=F就不会变了
</pre></div>
<p class="maodian"></p><h2>Step3. 绘图所需package的安装、调用</h2>
<div class="jb51code"><pre class="brush:ruby;">library(ggplot2)
library(reshape2)            
# 注释:package使用之前需要调用
</pre></div>
<p class="maodian"></p><h2>Step4. 绘图</h2>
<div class="jb51code"><pre class="brush:ruby;">data_melt &lt;- melt(data,id.vars = "Gene")
# 注释:将原始的宽数据变成长数据,方便画图
p &lt;- ggplot(data_melt,aes(x = value, y = Gene)) +
       geom_line(aes(group = Gene)) +
       geom_point(aes(fill = variable), size = 3)
p
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832513.png" /></p>
<p>注意改变点颜色的语句fill = variable没有发挥作用,为什么呢?</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832514.png" /></p>
<p>还是跟geom_point()中的shape有关系,默认是16号实心原点,只有color参数</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832515.png" /></p>
<div class="jb51code"><pre class="brush:ruby;">p &lt;- ggplot(data_melt,aes(x= value, y= Gene)) +
geom_line(aes(group = Gene)) +
geom_point(aes(color = variable), size = 3)
p
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832516.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832517.png" /></p>
<p class="maodian"></p><h3>改变size的大小</h3>
<div class="jb51code"><pre class="brush:ruby;">p &lt;- ggplot(data_melt,aes(x= value, y= Gene)) +
geom_line(aes(group = Gene)) +
geom_point(aes(color = variable, size = value))
p
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832518.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/202202170832519.png" /></p>
<p class="maodian"></p><h3>调整顺序</h3>
<div class="jb51code"><pre class="brush:ruby;">order &lt;- c("Gene1","Gene2","Gene3","Gene4","Gene5","Gene6","Gene7","Gene8","Gene9","Gene10")
p &lt;- ggplot(data_melt,aes(x= value, y= Gene)) +
geom_line(aes(group = Gene)) +
geom_point(aes(fill=variable), shape = 21, size = 3) +
scale_y_discrete(limits = order)
p
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021708325110.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021708325211.png" /></p>
<p>Gene1放在y轴最上面</p>
<div class="jb51code"><pre class="brush:ruby;">order &lt;- rev(order)
p &lt;- ggplot(data_melt,aes(x= value, y= Gene)) +
geom_line(aes(group = Gene)) +
geom_point(aes(fill=variable), shape = 21, size = 3) +
scale_y_discrete(limits = order)
p
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021708325212.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021708325213.png" /></p>
<p>以上就是R语言绘制Dumbbell plot哑铃图的详细内容,更多关于R语言绘制哑铃图的资料请关注琼殿技术社区其它相关文章!</p>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>R语言绘图数据可视化pie chart饼图</li><li>R语言导入导出数据的几种方法汇总</li><li>R语言开发之输出折线图的操作</li><li>R语言数据可视化绘图Slope&nbsp;chart坡度图画法</li><li>R语言绘图技巧导出高清图方法</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: R语言绘制数据可视化Dumbbell plot哑铃图