除了条形图之外,还可以使用哪些类型的数据可视化来绘制流行率图表?

时间:2019-03-26 19:59:09

标签: r data-visualization

我有包含暴力变量的数据,我想用图表显示患病率(即暴露于暴力的样本中有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的新手,所以如果您需要更多信息或代码来帮助

,请告诉我。

2 个答案:

答案 0 :(得分:0)

考虑热图,有关ggplot2的实现,请参见https://ggplot2.tidyverse.org/reference/geom_bin2d.html

答案 1 :(得分:0)

我可能会选择热图(由@Wil建议)或气泡热图。您可以使用ggplot2heatmap2制作热图(尽管还有其他选择)。气泡热图看起来像this。它也允许您选择气泡大小-可视化另一个变量(例如样本大小),或显示与颜色相同的变量,可能会强调效果。 让我知道您是否决定采用这种方式,并需要更多信息。