四个颜色的圈圈 發表於 2022-6-24 09:48:17

R语言绘图学习教程VennDiagram绘制venn

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>导读</li><li>一、模拟输入</li><li>二、venn基础图</li><li>三、个性化参数调整</li><li>四、保存</li></ul></div><p class="maodian"></p><h2>导读</h2>
<p>使用VennDiagram函数包中的venn.diagram函数绘制三数据集venn图。</p>
<p>安装依赖包:</p>
<div class="jb51code"><pre class="brush:ruby;"># venn图
install.packages("VennDiagram")
library(VennDiagram)
</pre></div>
<p class="maodian"></p><h2>一、模拟输入</h2>
<p>产生3个含200字符串的数据集</p>
<div class="jb51code"><pre class="brush:ruby;">set1 &lt;- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set2 &lt;- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set3 &lt;- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set4 &lt;- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
set5 &lt;- paste(rep("word_" , 200) , sample(c(1:1000) , 200 , replace=F) , sep="")
</pre></div>
<p>sample(x, size, replace=F) # 不放回抽样</p>
<p class="maodian"></p><h2>二、venn基础图</h2>
<p>1 两个圈</p>
<div class="jb51code"><pre class="brush:ruby;">venn.diagram(
x = list(set1, set2),
category.names = c("Set 1" , "Set 2 "),
filename = 'venn.png',
output=TRUE
)
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202206/2022062409070704.jpg" /></p>
<p>2 三个圈</p>
<div class="jb51code"><pre class="brush:ruby;">venn.diagram(
x = list(set1, set2, set3),
category.names = c("Set 1" , "Set 2 " , "Set 3"),
filename = 'venn.png',
output=TRUE
)
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202206/2022062409070705.jpg" /></p>
<p>3 四个圈</p>
<div class="jb51code"><pre class="brush:ruby;">venn.diagram(
x = list(set1, set2, set3, set4),
category.names = c("Set 1" , "Set 2 " , "Set 3", "Set 4"),
filename = 'venn.png',
output=TRUE
)
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202206/2022062409070706.jpg" /></p>
<p>4 五个圈</p>
<div class="jb51code"><pre class="brush:ruby;">venn.diagram(
x = list(set1, set2, set3, set4, set5),
category.names = c("Set 1" , "Set 2 " , "Set 3", "Set 4", "Set 5"),
filename = 'venn.png',
output=TRUE
)
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202206/2022062409070707.jpg" /></p>
<p class="maodian"></p><h2>三、个性化参数调整</h2>
<div class="jb51code"><pre class="brush:ruby;">library(RColorBrewer)
color &lt;- brewer.pal(3, "Set3")
# Chart
venn.diagram(
      x = list(set1, set2, set3),
      category.names = c("Set 1" , "Set 2 " , "Set 3"),
      filename = 'venn2.png',
      output=TRUE,
      # 输出
      imagetype="png" ,# 类型(tiff png svg)
      #height = 1000 ,   # 高度
      #width = 1000 ,   # 宽度
      resolution = 400,# 分辨率
      compression = "lzw",# 压缩算法
      # 圈
      lwd = 5,# 圈线条粗细 1 2 3 4 5
      lty = 1,# 线条类型, 1 实线, 2 虚线, blank 无线条
      fill = color,# 填充色
      col = c("red", 'green', 'blue'),# 线条色
      # 数字 number
      cex = 2,# 数字大小
      fontface = "bold",# 加粗
      fontfamily = "sans",# 字体
      # 标签 category
      cat.cex = 2,# 字体大小
      cat.col = c("red", 'green', 'blue'),# 字体色
      cat.fontface = "bold",# 加粗
      cat.default.pos = "outer",# 位置, outer 内 text 外
      cat.pos = c(-27, 27, 135),# 位置,用圆的度数
      cat.dist = c(0.055, 0.055, 0.085),# 位置,离圆的距离
      cat.fontfamily = "sans",# 字体
      rotation = 1# 1 2 3 旋转确定大打头数据集
)
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202206/2022062409070708.jpg" /></p>
<p class="maodian"></p><h2>四、保存</h2>
<p>1 绘图待保存</p>
<div class="jb51code"><pre class="brush:ruby;">library(RColorBrewer)
p = venn.diagram(
x = list(set1, set2, set3, set4, set5),
category.names = c("Set 1" , "Set 2 " , "Set 3", "Set 4", "Set 5"),
# filename = 'venn.png',
filename = NULL,
output=TRUE,
fill = brewer.pal(5, "Set2"),
col = brewer.pal(5, "Set3"),
fontface = "bold",
cat.col = brewer.pal(5, "Set3"),
cat.fontface = "bold"
)
</pre></div>
<p>2 保存为PDF</p>
<div class="jb51code"><pre class="brush:ruby;">pdf("venn-pdf.pdf")
grid.draw(p)
dev.off()
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202206/2022062409070709.jpg" /></p>
<p>3 保存为PNG</p>
<div class="jb51code"><pre class="brush:ruby;">png("venn-png.png")
grid.draw(p)
dev.off()
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202206/20220624090707010.jpg" /></p>
<p>更多参数:</p>
<div class="jb51code"><pre class="brush:ruby;">col = NA# 边框设为无色
</pre></div>
<p>参考:</p>
<p>https://r-graph-gallery.com/venn-diagram.html</p>
<p>venn网页工具:</p>
<p>http://bioinformatics.psb.ugent.be/webtools/Venn/</p>
<p>enn.diagram函数文档:</p>
<p>https://www.rdocumentation.org/packages/VennDiagram/versions/1.6.20/topics/venn.diagram</p>
<p>以上就是R语言绘图学习教程VennDiagram绘制venn的详细内容,更多关于R语言VennDiagram绘制venn的资料请关注琼殿技术社区其它相关文章!</p>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>R语言绘制维恩图ggvenn示例详解</li><li>R语言绘制Bubble&nbsp;Matrix气泡矩阵图</li><li>R语言绘制line plot线图示例详解</li><li>R语言绘制Facet&nbsp;violin&nbsp;plot小提琴刻面图实现示例</li><li>R语言绘制小提琴图violin&nbsp;plot实现示例</li><li>R语言学习VennDiagram包绘制韦恩图示例</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: R语言绘图学习教程VennDiagram绘制venn