{"id":458,"date":"2023-05-09T03:14:30","date_gmt":"2023-05-09T03:14:30","guid":{"rendered":"https:\/\/yunshangtulv.com.cn\/?p=458"},"modified":"2023-05-09T03:14:30","modified_gmt":"2023-05-09T03:14:30","slug":"sci%e5%9b%be%e7%89%87%e5%a4%8d%e7%8e%b0%ef%bc%9a%e5%a4%8d%e6%9d%82%e7%83%ad%e5%9b%be%e8%bf%9e%e6%8e%a5%e7%ba%bf","status":"publish","type":"post","link":"https:\/\/yunshangtulv.com.cn\/?p=458","title":{"rendered":"SCI\u56fe\u7247\u590d\u73b0\uff1a\u590d\u6742\u70ed\u56fe+\u8fde\u63a5\u7ebf"},"content":{"rendered":"<p>\u590d\u6742\u70ed\u56fe+\u8fde\u63a5\u7ebf<\/p>\n<p><span>\u4f7f\u7528<\/span><code>patchwork<\/code><span>\u548c<\/span><code>ggplotify<\/code><span>\u5e93\u5c06\u4e24\u4e2a\u70ed\u56fe\u548c\u57fa\u56e0\u8fde\u7ebf\u56fe\u8fdb\u884c\u62fc\u63a5\u3002<\/span><code>layout<\/code><span>\u53d8\u91cf\u5b9a\u4e49\u4e86\u6bcf\u4e2a\u5b50\u56fe\u7684\u4f4d\u7f6e\u3002\u6700\u540e\uff0c\u4f7f\u7528<\/span><code>print()<\/code><span>\u51fd\u6570\u663e\u793a\u6700\u7ec8\u56fe\u5f62\uff0c\u4f7f\u7528<\/span><code>ggsave()<\/code><span>\u51fd\u6570\u5c06\u56fe\u5f62\u4fdd\u5b58\u4e3aPDF\u6587\u4ef6\u3002<\/span><\/p>\n<pre class=\"corepress-code-pre\"><code># \u52a0\u8f7d\u6240\u9700\u7684\u5305\r\nlibrary(ggplot2)\r\nlibrary(ComplexHeatmap)\r\nlibrary(ggforce)\r\nlibrary(circlize)\r\n\r\n# \u6784\u5efa\u793a\u4f8b\u6570\u636e\r\nset.seed(42) # \u4fdd\u8bc1\u793a\u4f8b\u6570\u636e\u7684\u4e00\u81f4\u6027\r\nLU_matrix &lt;- matrix(runif(70, 0, 0.5), nrow = 10, ncol = 7)\r\nRD_matrix &lt;- matrix(runif(105, -0.5, 0), nrow = 15, ncol = 7)\r\nRU_matrix &lt;- matrix(runif(30, -0.5, 0), nrow = 10, ncol = 3)\r\nLD_matrix &lt;- matrix(runif(45, 0, 0.5), nrow = 15, ncol = 3)\r\n\r\ndata &lt;- rbind(cbind(LU_matrix, RU_matrix), cbind(RD_matrix, LD_matrix))\r\nrownames(data) &lt;- paste0(\"Gene\", 1:nrow(data))\r\ncolnames(data) &lt;- paste0(\"Sample\", 1:ncol(data))\r\n\r\n# \u663e\u793a\u524d\u51e0\u884c\u6570\u636e\r\nhead(data)\r\n\r\n# \u8bbe\u7f6e\u989c\u8272\u6620\u5c04\u51fd\u6570\r\ncol_fun &lt;- colorRamp2(c(-0.5, 0, 0.5), c(\"#04a3ff\", \"#ffffff\", \"#ff349c\"))\r\n\r\n# \u6784\u5efa\u70ed\u56fe\u51fd\u6570\r\nbuild_heatmap &lt;- function(data, rotate_column_names = FALSE, row_names_side = \"right\") {\r\n  Heatmap(data,\r\n          col = col_fun,\r\n          rect_gp = gpar(col = \"white\", lwd = 1),\r\n          cluster_columns = FALSE,\r\n          cluster_rows = FALSE,\r\n          column_names_rot = ifelse(rotate_column_names, 45, -45),\r\n          cell_fun = function(j, i, x, y, width, height, fill) {\r\n            grid.text(sprintf(\"%.2f\", data[i, j]), x, y, gp = gpar(fontsize = 5))},\r\n          show_heatmap_legend = FALSE,\r\n          row_names_side = row_names_side)\r\n}\r\n\r\n# \u6784\u5efa\u4e24\u4e2a\u70ed\u56fe\r\np1 &lt;- build_heatmap(data)\r\np2 &lt;- build_heatmap(data, rotate_column_names = TRUE, row_names_side = \"left\")\r\n\r\n# \u6784\u5efa\u57fa\u56e0\u8fde\u7ebf\u6570\u636e\r\nlines &lt;- data.frame(\r\n  x = as.character(c(rep(1, 25), rep(2, 25))),\r\n  y = c(sample(1:25), sample(1:25)),\r\n  group = rep(1:25, 2)\r\n)\r\n\r\n# \u6784\u5efa\u57fa\u56e0\u8fde\u7ebf\u56fe\r\np3 &lt;- ggplot(lines) +\r\n  geom_link2(aes(x = x, y = y, group = group, colour = stat(index)), size = 2) +\r\n  scale_colour_gradient2(low = \"#04a3ff\", mid = \"#ffffff\", high = \"#ff349c\", midpoint = 0.5) +\r\n  geom_point(aes(x, y, group = group, fill = x), shape = 21, color = \"#fc1e1e\", size = 4) +\r\n  scale_fill_manual(values = c(\"#04a3ff\", \"#ff349c\")) +\r\n  theme_minimal() +\r\n  theme(legend.position = \"none\",\r\n        axis.title.x = element_blank(),\r\n        axis.title.y = element_blank(),\r\n        panel.border = element_blank(),\r\n        panel.grid = element_blank(),\r\n        axis.ticks = element_blank(),\r\n        axis.text = element_blank(),\r\n        plot.title = element_text(size = 0, face = \"bold\"))\r\n\r\n# \u62fc\u63a5\u70ed\u56fe\u548c\u57fa\u56e0\u8fde\u7ebf\u56fe\r\nlibrary(patchwork)\r\nlibrary(ggplotify)\r\n\r\nlayout &lt;- c(\r\n  area(t = 1, l = 1, b = 6, r = 3),\r\n  area(t = 1, l = 3, b = 6, r = 7),\r\n  area(t = 1, l = 7, b = 6, r = 9)\r\n)\r\n\r\nfinal_plot &lt;- as.ggplot(p1) + p3 + as.ggplot(p2) + plot_layout(design = layout)\r\n\r\n# \u663e\u793a\u6700\u7ec8\u56fe\u5f62\r\nprint(final_plot)\r\n\r\n# \u4fdd\u5b58\u4e3aPDF\u6587\u4ef6\r\nggsave(\"heatmap.pdf\", plot = final_plot, height = 8, width = 12)\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/yunshangtulv.com.cn\/wp-content\/uploads\/2023\/05\/1683601970859.webp\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u590d\u6742\u70ed\u56fe+\u8fde\u63a5\u7ebf \u4f7f\u7528patchwork\u548cggplotify\u5e93\u5c06\u4e24\u4e2a\u70ed\u56fe\u548c\u57fa\u56e0\u8fde\u7ebf\u56fe\u8fdb\u884c\u62fc\u63a5\u3002layout\u53d8\u91cf [&hellip;]<\/p>\n","protected":false},"author":111,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-458","post","type-post","status-publish","format-standard","hentry","category-r"],"_links":{"self":[{"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=\/wp\/v2\/users\/111"}],"replies":[{"embeddable":true,"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=458"}],"version-history":[{"count":0,"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=\/wp\/v2\/posts\/458\/revisions"}],"wp:attachment":[{"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yunshangtulv.com.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}