昨天刚学了circlize包,今天要模仿这样的图,属于最简单的了。

STEP1 初始化并载入数据。
library(circlize)
circos.initializeWithIdeogram(plotType = NULL)

circos.clear()
plottype默认值是绘制三项
- labels
- axis
- ideogram。
- 如果设定为NULL,则自动载入数据但不绘制任何元素。
当然circos.initializeWithIdeogram()函数还能设定species
- 如人类的代码是“hg19”
- 小鼠是“mm10”
STEP2 绘制外圈的文本内容
circos.initializeWithIdeogram(plotType = NULL)
circos.trackPlotRegion(ylim = c(0,1) , bg.border= NA, panel.fun = function(x,y){
circos.text(CELL_META$xcenter,CELL_META$ycenter, CELL_META$sector.index, cex = 0.8,font = 2, facing = "clockwise", niceFacing = TRUE)
})

circos.clear()
- circos.track 和 circos.trackPlotRegion是同名函数。
- 必填项为ylim或者y, 如果只填这一项,函数会默认创建一个track,根据categories分割好,并且背景无色,边框黑色。
- 这里的绘制思路是先在外圈创建一个track,设定边框和背景为NULL(背景默认为NULL),然后用panel.fun函数嵌套 circos.text 函数绘制外圈的文字。
STEP3 绘制内圈格子
circos.initializeWithIdeogram(plotType = NULL)
circos.trackPlotRegion(ylim = c(0,1) , bg.border= NA, panel.fun = function(x,y){
circos.text(CELL_META$xcenter,CELL_META$ycenter, CELL_META$sector.index, cex = 0.8,font = 2, facing = "clockwise", niceFacing = TRUE)
})
circos.track(ylim = c(0,1), bg.col = rainbow(24),bg.border = NA)

circos.clear()
这步很简单,只要画个圈,函数自动分割好cell给你,设定需要的track高度,以及边框颜色,背景颜色即可。
sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Simplified)_China.936 LC_CTYPE=Chinese (Simplified)_China.936
[3] LC_MONETARY=Chinese (Simplified)_China.936 LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_China.936
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] circlize_0.4.4
loaded via a namespace (and not attached):
[1] Rcpp_0.12.17 digest_0.6.15 rprojroot_1.3-2 grid_3.5.1 jsonlite_1.5
[6] backports_1.1.2 magrittr_1.5 evaluate_0.10.1 stringi_1.1.7 GlobalOptions_0.1.0
[11] rmarkdown_1.10 tools_3.5.1 stringr_1.3.1 yaml_2.1.19 compiler_3.5.1
[16] colorspace_1.3-2 base64enc_0.1-3 shape_1.4.4 htmltools_0.3.6 knitr_1.20
LS0tDQp0aXRsZTogIkNpcmNsaXpl57uY5Yi25p+T6Imy5L2T5ZyI5Zu+Ig0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KPiDmmKjlpKnliJrlrabkuoZjaXJjbGl6ZeWMhe+8jOS7iuWkqeimgeaooeS7v+i/meagt+eahOWbvu+8jOWxnuS6juacgOeugOWNleeahOS6huOAgiAgDQoNCg0KYGBge3IgZWNobz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoY2lyY2xpemUpDQpjaXJjb3MuY2xlYXIoKQ0KY2lyY29zLmluaXRpYWxpemVXaXRoSWRlb2dyYW0ocGxvdFR5cGUgPSBOVUxMKQ0KY2lyY29zLnRyYWNrUGxvdFJlZ2lvbih5bGltID0gYygwLDEpICwgYmcuYm9yZGVyPSBOQSwgcGFuZWwuZnVuID0gZnVuY3Rpb24oeCx5KXsNCiAgY2lyY29zLnRleHQoQ0VMTF9NRVRBJHhjZW50ZXIsQ0VMTF9NRVRBJHljZW50ZXIsIENFTExfTUVUQSRzZWN0b3IuaW5kZXgsIGNleCA9IDAuOCxmb250ID0gMiwgZmFjaW5nID0gImNsb2Nrd2lzZSIsIG5pY2VGYWNpbmcgPSBUUlVFKQ0KfSkNCmNpcmNvcy50cmFjayh5bGltID0gYygwLDEpLCBiZy5jb2wgPSByYWluYm93KDI0KSxiZy5ib3JkZXIgPSBOQSkNCmNpcmNvcy5jbGVhcigpDQpgYGANCg0KIyBTVEVQMSDliJ3lp4vljJblubbovb3lhaXmlbDmja7jgIINCg0KYGBge3J9DQpsaWJyYXJ5KGNpcmNsaXplKQ0KY2lyY29zLmluaXRpYWxpemVXaXRoSWRlb2dyYW0ocGxvdFR5cGUgPSBOVUxMKQ0KY2lyY29zLmNsZWFyKCkNCmBgYA0KDQo+IHBsb3R0eXBl6buY6K6k5YC85piv57uY5Yi25LiJ6aG5ICANCj4gLSBsYWJlbHMgIA0KPiAtIGF4aXMgIA0KPiAtIGlkZW9ncmFt44CCICAgIA0KDQo+IC0g5aaC5p6c6K6+5a6a5Li6TlVMTO+8jOWImeiHquWKqOi9veWFpeaVsOaNruS9huS4jee7mOWItuS7u+S9leWFg+e0oOOAgiAgDQoNCj4g5b2T54S2Y2lyY29zLmluaXRpYWxpemVXaXRoSWRlb2dyYW0oKeWHveaVsOi/mOiDveiuvuWumnNwZWNpZXMgIA0KLSDlpoLkurrnsbvnmoTku6PnoIHmmK/igJxoZzE54oCdICANCi0g5bCP6byg5piv4oCcbW0xMOKAnSAgDQoNCiMgU1RFUDIg57uY5Yi25aSW5ZyI55qE5paH5pys5YaF5a65DQpgYGB7cn0NCmNpcmNvcy5pbml0aWFsaXplV2l0aElkZW9ncmFtKHBsb3RUeXBlID0gTlVMTCkNCmNpcmNvcy50cmFja1Bsb3RSZWdpb24oeWxpbSA9IGMoMCwxKSAsIGJnLmJvcmRlcj0gTkEsIHBhbmVsLmZ1biA9IGZ1bmN0aW9uKHgseSl7DQogIGNpcmNvcy50ZXh0KENFTExfTUVUQSR4Y2VudGVyLENFTExfTUVUQSR5Y2VudGVyLCBDRUxMX01FVEEkc2VjdG9yLmluZGV4LCBjZXggPSAwLjgsZm9udCA9IDIsIGZhY2luZyA9ICJjbG9ja3dpc2UiLCBuaWNlRmFjaW5nID0gVFJVRSkNCn0pDQpjaXJjb3MuY2xlYXIoKQ0KYGBgDQoNCi0gY2lyY29zLnRyYWNrIOWSjCBjaXJjb3MudHJhY2tQbG90UmVnaW9u5piv5ZCM5ZCN5Ye95pWw44CCDQotIOW/heWhq+mhueS4unlsaW3miJbogIV577yMIOWmguaenOWPquWhq+i/meS4gOmhue+8jOWHveaVsOS8mum7mOiupOWIm+W7uuS4gOS4qnRyYWNr77yM5qC55o2uY2F0ZWdvcmllc+WIhuWJsuWlve+8jOW5tuS4lOiDjOaZr+aXoOiJsu+8jOi+ueahhum7keiJsuOAgg0KLSDov5nph4znmoQqKue7mOWItuaAnei3ryoq5piv5YWI5Zyo5aSW5ZyI5Yib5bu65LiA5LiqdHJhY2vvvIzorr7lrprovrnmoYblkozog4zmma/kuLpOVUxM77yI6IOM5pmv6buY6K6k5Li6TlVMTO+8ie+8jOeEtuWQjueUqHBhbmVsLmZ1buWHveaVsOW1jOWllyBjaXJjb3MudGV4dCDlh73mlbDnu5jliLblpJblnIjnmoTmloflrZfjgIINCg0KIyBTVEVQMyDnu5jliLblhoXlnIjmoLzlrZAgIA0KYGBge3J9DQpjaXJjb3MuaW5pdGlhbGl6ZVdpdGhJZGVvZ3JhbShwbG90VHlwZSA9IE5VTEwpDQpjaXJjb3MudHJhY2tQbG90UmVnaW9uKHlsaW0gPSBjKDAsMSkgLCBiZy5ib3JkZXI9IE5BLCBwYW5lbC5mdW4gPSBmdW5jdGlvbih4LHkpew0KICBjaXJjb3MudGV4dChDRUxMX01FVEEkeGNlbnRlcixDRUxMX01FVEEkeWNlbnRlciwgQ0VMTF9NRVRBJHNlY3Rvci5pbmRleCwgY2V4ID0gMC44LGZvbnQgPSAyLCBmYWNpbmcgPSAiY2xvY2t3aXNlIiwgbmljZUZhY2luZyA9IFRSVUUpDQp9KQ0KY2lyY29zLnRyYWNrKHlsaW0gPSBjKDAsMSksIGJnLmNvbCA9IHJhaW5ib3coMjQpLGJnLmJvcmRlciA9IE5BKQ0KY2lyY29zLmNsZWFyKCkNCmBgYA0KDQo+IOi/meatpeW+iOeugOWNle+8jOWPquimgeeUu+S4quWciO+8jOWHveaVsOiHquWKqOWIhuWJsuWlvWNlbGznu5nkvaDvvIzorr7lrprpnIDopoHnmoR0cmFja+mrmOW6pu+8jOS7peWPiui+ueahhuminOiJsu+8jOiDjOaZr+minOiJsuWNs+WPr+OAgg0KDQpgYGB7cn0NCnNlc3Npb25JbmZvKCkNCg0KYGBgDQoNCg==