{"id":28899,"date":"2024-02-19T18:03:28","date_gmt":"2024-02-19T10:03:28","guid":{"rendered":"http:\/\/www.biocloudservice.com\/wordpress\/?p=28899"},"modified":"2024-02-19T18:03:30","modified_gmt":"2024-02-19T10:03:30","slug":"%e5%88%a9%e7%94%a8ggplot2%e7%bb%98%e5%88%b6%e5%a4%9a%e8%a7%92%e5%9b%be%e7%bb%98%e5%88%b6","status":"publish","type":"post","link":"http:\/\/www.biocloudservice.com\/wordpress\/?p=28899","title":{"rendered":"\u5229\u7528ggplot2\u7ed8\u5236\u591a\u89d2\u56fe\u7ed8\u5236"},"content":{"rendered":"<p>\u4eca\u5929\u5229\u7528ggplot2\u6765\u8fdb\u884c\u591a\u89d2\u56fe\u7684\u7ed8\u5236\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n<ol>\n<li>\u5b89\u88c5\u9700\u8981\u7684R\u5305<\/li>\n<\/ol>\n<p>install.packages(\u201cggplot2\u201d)<\/p>\n<ol>\n<li>\u5bfc\u5165\u9700\u8981\u7684R\u5305<\/li>\n<\/ol>\n<p>library(ggplot2)<\/p>\n<ol>\n<li>\u793a\u4f8b\u4ee3\u7801<\/li>\n<\/ol>\n<p>raw.data &lt;- read.table(\u201cgroup.txt\u201d, header = T, stringsAsFactors = T)<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"133\" class=\"wp-image-28900\" src=\"https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122803.jpeg?resize=640%2C133\" alt=\"Dingtalk_20230213122803\" srcset=\"https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122803.jpeg?w=1267 1267w, https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122803.jpeg?resize=300%2C63 300w, https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122803.jpeg?resize=1024%2C213 1024w, https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122803.jpeg?resize=768%2C160 768w, https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122803.jpeg?resize=600%2C125 600w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/p>\n<p># \u8bb0\u5f55\u672b\u5217\u7684\u540d\u79f0<\/p>\n<p>txt &lt;- colnames(raw.data)[ncol(raw.data)]<\/p>\n<p>## \u8ba1\u7b97\u5750\u6807\u8f74\u89d2\u5ea6<\/p>\n<p>sides &lt;- ncol(raw.data) &#8211; 1 # \u8fb9\u7684\u4e2a\u6570\uff08\u5217\u6570\u51cf1\uff0c\u56e0\u4e3a\u6709\u672b\u5217\uff09<\/p>\n<p>start_angle &lt;- 90 # \u5f00\u59cb\u89d2\u5ea6<\/p>\n<p>basis &lt;- t(sapply((1:sides)-1, function(i){<\/p>\n<p>c(cos(2 * i * pi \/ sides + start_angle * pi \/ 180),<\/p>\n<p>sin(2 * i * pi \/ sides + start_angle * pi \/ 180))<\/p>\n<p>}))<\/p>\n<p>## \u5c0612\u7ef4\u7684\u6570\u636e\u5750\u6807\u6295\u5c04\u5230\u4e8c\u7ef4<\/p>\n<p>data &lt;- as.matrix(raw.data[, -match(txt, colnames(raw.data))]) %*% basis<\/p>\n<p># \u51c6\u5907\u7ed8\u56fe\u6570\u636e<\/p>\n<p>### \u70b9\u7684\u6570\u636e<\/p>\n<p>plot.data &lt;- data.frame(<\/p>\n<p>&#8220;x&#8221; = data[, 1],<\/p>\n<p>&#8220;y&#8221; = data[, 2],<\/p>\n<p>&#8220;Group&#8221; = raw.data$celltype<\/p>\n<p>)<\/p>\n<p>### \u591a\u8fb9\u5f62\u7684\u6570\u636e<\/p>\n<p>basis &lt;- data.frame(<\/p>\n<p>&#8220;x&#8221; = basis[, 1],<\/p>\n<p>&#8220;y&#8221; = basis[, 2]<\/p>\n<p>)<\/p>\n<p>### \u7c7b\u56fe\u4f8b\u7684\u6570\u636e<\/p>\n<p>label &lt;- data.frame(<\/p>\n<p>&#8220;x&#8221; = 1.1 * basis[, 1],<\/p>\n<p>&#8220;y&#8221; = 1.1 * basis[, 2],<\/p>\n<p>&#8220;label&#8221; = colnames(raw.data)[-ncol(raw.data)]<\/p>\n<p>)<\/p>\n<p>### \u8bbe\u5b9a\u989c\u8272\uff08\u4f7f\u7528\u7684\u662fRGB\u989c\u8272\uff09<\/p>\n<p>color.palette &lt;- list(<\/p>\n<p>&#8216;hEndo&#8217;= c(190, 10, 10),&#8217;hPeric&#8217;= c(225, 160, 30),&#8217;hMgl&#8217;= c(217, 245, 7),<\/p>\n<p>&#8216;hDA1&#8217;= c(170, 180, 170),&#8217;hDA2&#8217;= c(130, 140, 140),&#8217;hNbM&#8217;= c(180, 140, 130),<\/p>\n<p>&#8216;hNbML1&#8217;= c(100, 100, 240),&#8217;hProgM&#8217;= c( 80, 235, 255),&#8217;hProgFPM&#8217;=c(190, 235, 255),<\/p>\n<p>&#8216;hProgFPL&#8217;=c(210, 255, 215),&#8217;hProgBP&#8217;=c(230, 140, 120),&#8217;hNProg&#8217;= c(255, 195, 28),<\/p>\n<p>&#8216;hNbML5&#8217;= c(139, 101, 100),&#8217;hRgl1&#8217;= c(252, 183, 26),&#8217;hRgl3&#8217;= c(214, 194, 39),<\/p>\n<p>&#8216;hRgl2c&#8217;= c(255, 120, 155),&#8217;hRgl2b&#8217;= c(250, 145, 45),&#8217;hRgl2a&#8217;= c(250, 125, 25),<\/p>\n<p>&#8216;hDA0&#8217;= c(190, 200, 190),&#8217;hOPC&#8217;= c(255, 35, 155),&#8217;hRN&#8217;= c(199, 121, 41),<\/p>\n<p>&#8216;hNbGaba&#8217;= c( 40, 55, 130),&#8217;hGaba&#8217;= c( 7, 121, 61),&#8217;hOMTN&#8217;= c( 95, 186, 70),<\/p>\n<p>&#8216;hSert&#8217;= c( 50, 180, 180),&#8217;eSCa&#8217;= c(245, 205, 170),&#8217;eSCb&#8217;= c(205, 245, 170),<\/p>\n<p>&#8216;eSCc&#8217;= c(205, 205, 220)<\/p>\n<p>)<\/p>\n<p>color.palette &lt;- lapply(color.palette, function(x){<\/p>\n<p>rgb(red = x[1]\/255, green = x[2]\/255, blue = x[3]\/255)<\/p>\n<p>})<\/p>\n<p>color.palette &lt;- unlist(color.palette) # \u6700\u7ec8\u7684\u989c\u8272\u683c\u5f0f\u4e3a\u4e00\u4e2a\u5e26\u540d\u79f0\u768416\u8fdb\u5236\u5b57\u7b26\u4e32<\/p>\n<p>###\u5f00\u59cb\u7ed8\u56fe<\/p>\n<p>ggplot(plot.data, aes(x = x, y = y)) +<\/p>\n<p>geom_point(aes(col = Group, size = .5)) +<\/p>\n<p>geom_polygon(mapping = aes(x = x, y = y), data = basis,<\/p>\n<p>fill = &#8220;transparent&#8221;, color = &#8220;black&#8221;, size = 1) +<\/p>\n<p>geom_text(mapping = aes(x = x, y = y, label = label), data = label) +<\/p>\n<p>scale_color_manual(values = color.palette) +<\/p>\n<p>theme_classic() +<\/p>\n<p>theme(axis.line = element_blank(),<\/p>\n<p>axis.title = element_blank(),<\/p>\n<p>axis.ticks = element_blank(),<\/p>\n<p>axis.text = element_blank())<\/p>\n<p>ggsave(&#8220;wheelplot.pdf&#8221;, width = 10, height = 8) # \u4fdd\u5b58\u56fe\u5f62<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"491\" class=\"wp-image-28901\" src=\"https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122417.jpeg?resize=640%2C491\" alt=\"Dingtalk_20230213122417\" srcset=\"https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122417.jpeg?w=780 780w, https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122417.jpeg?resize=300%2C230 300w, https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122417.jpeg?resize=768%2C590 768w, https:\/\/i0.wp.com\/www.biocloudservice.com\/wordpress\/wp-content\/uploads\/2024\/02\/dingtalk_20230213122417.jpeg?resize=600%2C461 600w\" sizes=\"(max-width: 640px) 100vw, 640px\" data-recalc-dims=\"1\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u5929\u5229\u7528ggplot2\u6765\u8fdb\u884c\u591a\u89d2\u56fe\u7684\u7ed8\u5236\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a \u5b89\u88c5\u9700\u8981\u7684R\u5305 install.packages(\u201cgg [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":""},"categories":[1],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/28899"}],"collection":[{"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=28899"}],"version-history":[{"count":1,"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/28899\/revisions"}],"predecessor-version":[{"id":28902,"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/28899\/revisions\/28902"}],"wp:attachment":[{"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28899"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.biocloudservice.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}