首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从另一个数据集的熔体中创建的比例条形图

从另一个数据集的熔体中创建的比例条形图
EN

Stack Overflow用户
提问于 2022-09-07 13:22:47
回答 2查看 51关注 0票数 0

我需要从使用dplyr的熔融函数创建的数据集中创建一个比例条形图。按比例,我的意思是,我需要一个图表,其中每个杆的高度将是不同的,根据所占的比例。我想将以下示例代码生成的值X与基于"group“的填充进行比例。我尝试过许多在线解决方案,我经常遇到的不是错误代码,而是实心的条形图,没有比例上的差别。

参见示例代码:

代码语言:javascript
运行
复制
library(ggplot2)
library(tidyr)

set.seed(1)
example_matrix <-matrix(rpois(90,7), nrow=6,ncol=15)
example_df <- data.frame(example_matrix)
rownames(example_df) <-c('group1','group2','group3','group4','group5','group6')
df <- reshape2::melt(as.matrix(example_df))```
EN

回答 2

Stack Overflow用户

发布于 2022-09-07 13:39:15

代码语言:javascript
运行
复制
library(data.table)
library(ggplot2)

set.seed(1)
example_matrix <-matrix(rpois(90,7), nrow=6,ncol=15)
example_df <- data.frame(example_matrix)
rownames(example_df) <-c('group1','group2','group3','group4','group5','group6')
df <- reshape2::melt(as.matrix(example_df))
df$fraction <- df$value/sum(df$value)

setDT(df)

p <-
  ggplot(data = df, aes(x = Var2, y = fraction, fill = Var1)) +
  geom_bar(stat = "identity", position = "dodge") +
  scale_fill_manual(values = c("blue", "red", "black", "orange", "pink", "yellow"))

print(p)
票数 1
EN

Stack Overflow用户

发布于 2022-09-08 07:35:53

我不认为这可以直接用绘图命令来完成,您需要在之前转换您的数据。例如:

代码语言:javascript
运行
复制
library(dplyr)
df <- df %>% group_by(Var2) %>% mutate(fraction = value/sum(value))

然后用另一个答案中的ggplot解决方案进行绘图,或者下面是一个plotly版本:

代码语言:javascript
运行
复制
library(plotly)
plot_ly(data = df, x = ~Var2, y = ~fraction, color = ~Var1, type = 'bar')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73636297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档