gpt4 book ai didi

r - ggplot2 堆叠条形图,其中每个值都是一个组/颜色

转载 作者:行者123 更新时间:2023-12-05 05:24:41 25 4
gpt4 key购买 nike

这是我的第一篇文章,我是编码新手,如果我的文章不干净或者我没有找到足够的答案,我深表歉意。

我正在尝试使用 ggplot2 绘制堆叠条形图,并且快完成了。这是我到目前为止所拥有的。我有一个包含 2 列(长度和计数)的数据集。我已将其附在这篇文章中。我读了它并像这样绘制它:

example <- read.delim("example.txt", sep",")
ggplot(data=example, aes(x=Length, y=Count, fill=Count))+geom_bar(stat="identity")

这给我的图是Fig1A

然而,我正在寻找的是“Count”列中的每个值都被赋予了自己的颜色。它应该看起来像图 1B(Excel 示例):

我尝试按照我在 Excel 中绘制它的方式绘制它(图 1C),但无法使用 ggplot2 复制这种图,我无法让我的 data.frame 适合这种布局。

Fig1A-C Example file (example.txt

谢谢

最佳答案

尝试使用列数作为一个因素,而不是列本身。

ggplot(data=example, aes(x=Length, y=Count, fill=factor(Count)))+geom_bar(stat="identity")

返回 colorbar

ggplot 会自动选择渐变色标,但您可以使用不同的调色板或每个因素的手动颜色列表来更改它。例如,您可以通过调用以下命令为数据集中的每个级别选择随机颜色:

colors <- sample(colours(),length(levels(factor(example$Count))))

并将其添加到您的绘图中

+ scale_fill_manual(values = colors) 

这给出了类似的东西: randcolor

或者,您可以选择遵循 R 的内置颜色代码。尝试运行

colours()

您将获得可用颜色的完整列表。您可以根据需要手动选择,也可以选择前 n 个元素,n 等于您的关卡数量

colors <- colours()[seq(1,length(levels(factor(example$Count))),by=1)]

然后按照上述程序。这始终给出了这张图:

fixed

关于r - ggplot2 堆叠条形图,其中每个值都是一个组/颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34154106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com