r - 除了条形图之外,还可以使用哪些类型的数据可视化来绘制流行度图表?
问题描述
我有包含暴力变量的数据,我想绘制流行率(即 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 新手,所以如果您需要更多信息或代码来帮助,请告诉我
解决方案
我可能会使用热图(如@Wil 建议的那样)或气泡热图。您可以使用ggplot2
或使用heatmap2
(尽管还有其他选项)制作热图。气泡热图看起来像这样。它还允许您选择气泡大小 - 要么可视化另一个变量(例如样本大小),要么显示与颜色相同的变量,这可能会强调效果。如果您决定这样做并需要更多信息,请告诉我。
推荐阅读
- java - javax.naming.NameNotFoundException:尝试查找 comp/env/UserTransaction 时
- node.js - 使用语义发布,我如何在没有发布权的情况下在试运行中查看发布说明?
- r - 如何从 R 中的本地 zip 文件安装 tinytex
- firebase - 在 React 本机应用程序中实现 Firebase Crashlytics - Android
- django - 无法初始化 django 中的隐藏字段
- reactjs - React JS - 使用 HOC 时出现不变违规错误
- arrays - Java 数组逆向逻辑
- amcharts - 如何在面积图上显示背景网格?
- angular - 确保在继续之前完成服务
- python - Django objects.create 产生的输出超出预期