我有一个简单的data.frame,使用冲积包将其制成一个简单的冲积图。如何编辑图?按重要性顺序,我的问题是:
更改配色方案,以使流来自同一颜色
“允许的”单元是相同的颜色。
添加标题
保存此图,以便以后将其绘制到带有几个ggplots的网格中
注意:ggalluvial可能更容易,但不幸的是我无法在工作中安装它,因此该解决方案需要使用base r,ggplot或冲积软件包。
library(alluvial)
df <- structure(list(Admitted.To =
c("UnitC", "UnitC", "UnitC", "UnitC", "UnitD", "UnitD",
"UnitD", "UnitD", "UnitE", "UnitE", "UnitE", "UnitF",
"UnitB", "UnitB", "UnitB", "UnitB", "UnitB", "UnitG",
"UnitH", "UnitA", "UnitA", "UnitA", "UnitA", "UnitA"),
Discharged.From = c("UnitC", "UnitD", "UnitE", "UnitA",
"UnitC", "UnitD", "UnitE", "UnitA",
"UnitD", "UnitE", "UnitA", "UnitF",
"UnitD", "UnitI", "UnitE", "UnitB",
"UnitA", "UnitG", "UnitH", "UnitC",
"UnitD", "UnitI", "UnitE", "UnitA"),
n = c(136, 2, 1, 2, 1, 162, 2, 3, 1, 213, 1, 3, 5, 1, 7,
22, 23, 1, 32, 10, 9, 39, 9, 607)),
.Names = c("Admitted.To", "Discharged.From", "n"),
row.names = c(NA, -24L),
class = c("tbl_df", "tbl", "data.frame"))
我一直在使用下面的颜色代码,直到弄清楚如何将颜色映射到“允许的对象”组
set.seed(8) # for nice colors
cols <- hsv(h = sample(1:8/10), s = sample(3:8)/8, v = sample(3:8)/8)
和我的冲积图代码:
alluvial(df[,1:2],
freq = 8,
blocks = T,
col = cols)
我尝试将
title = "SampleTitleHere"
添加到我的代码中,但是它只是绘制另一列。我在此包装上找不到太多文档。 最佳答案
感谢您使用冲积包装。一一解答您的问题:
1更改配色方案,以使来自相同“ Admitted.To”单元的流的颜色相同。
例如。像那样
pal <- RColorBrewer::brewer.pal(8, "Set1") # colors to use
alluvial(
f[,1:2],
freq = 8,
blocks = T,
col = k[ match(f$Admitted.To, unique(f$Admitted.To)) ]
)
添加标题
也许我们将添加一个
title
或main
参数。同时使用mtext()
在顶部添加“边距文本”pal <- RColorBrewer::brewer.pal(8, "Set1")
alluvial(
f[,1:2],
freq = 8,
blocks = T,
col = k[ match(f$Admitted.To, unique(f$Admitted.To)) ]
)
mtext("A title", 3, line=3, font=2)
如果标题跨越多行,或者您希望在标题和地块之间留有较大的边距或空间,则可以(a)通过使用更多数量的传递给论点; (b)将
mar
的line
参数弄乱,以调整标题应出现在距绘图多远的位置。保存此图,以便以后将其绘制到带有几个ggplots的网格中
我对此没有一个快速的答案。如果您需要使用
mtext()
将其与其他基于ggplot的图形进行混合,将是更好的选择。请参阅下文,了解如何使其工作。注意:ggalluvial可能更容易,但是不幸的是我无法在工作中安装它,因此该解决方案需要使用base r,ggplot或冲积软件包。
即使您不是系统管理员,也应该能够安装和使用任何R软件包(例如
ggalluvial
)。您只需要将它们安装在您有权写入文件的地方。甚至可以是您保留分析的文件夹。参见例如https://csg.sph.umich.edu/docs/R/localpackages.html或http://www.stat.osu.edu/computer-support/mathstatistics-packages/installing-r-libraries-locally-your-home-directory,或Google的“ R用户库树”。