首页 > 解决方案 > 除了条形图之外,还可以使用哪些类型的数据可视化来绘制流行度图表?

问题描述

我有包含暴力变量的数据,我想绘制流行率(即 50% 的样本暴露于暴力、性别(4 个级别:顺性别男人/女人、跨性别男人/女人)和性取向(男同性恋、异性恋,双性恋,无性恋)。

我们希望以易于理解的方式可视化在 16 种不同的性别和性取向组合中的暴力流行率(即同性恋男性中的暴力流行率),而不会过于混乱。

我们最初尝试了一个带有 16 个条形的水平条形图,其中误差条对应于每个性别/性取向组合,显示暴力流行率,但这有点混乱。酒吧按暴力发生率排序。图表上的颜色与每个性别有关。

violencegraph <- ggplot(data=mydata, aes(x = reorder(gender_sexualorient, +prop), y=prop, ymin=low, ymax=upper)) +
  geom_bar(stat="identity") +
  coord_flip() +
  geom_errorbar() +
  scale_y_continuous(labels=percent_format(), limits=c(0,1))

violencegraph + labs(title="Violence by Sexual Orientation and Gender", 
                 x="Gender and Sexual Orientation", y="Prevalence of Violence") + 
  theme(legend.position = "none") + 
  scale_fill_manual(values = c("#124987", "#b30000", "#a5c9f3", "#ff9999"),
 labels=c("Cisgender man", "Cisgender woman", "Transgender man", "Transgender woman")) +
  theme(legend.title=element_blank())

有没有更好的方法来可视化这一点?哪些可视化选项是合适的?另外我是 R 新手,所以如果您需要更多信息或代码来帮助,请告诉我

标签: rdata-visualization

解决方案


我可能会使用热图(如@Wil 建议的那样)或气泡热图。您可以使用ggplot2或使用heatmap2(尽管还有其他选项)制作热图。气泡热图看起来像这样。它还允许您选择气泡大小 - 要么可视化另一个变量(例如样本大小),要么显示与颜色相同的变量,这可能会强调效果。如果您决定这样做并需要更多信息,请告诉我。


推荐阅读