我有包含暴力变量的数据,我想用图表显示患病率(即暴露于暴力的样本中有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的新手,所以如果您需要更多信息或代码来帮助
,请告诉我。答案 0 :(得分:0)
考虑热图,有关ggplot2
的实现,请参见https://ggplot2.tidyverse.org/reference/geom_bin2d.html。
答案 1 :(得分:0)
我可能会选择热图(由@Wil建议)或气泡热图。您可以使用ggplot2
或heatmap2
制作热图(尽管还有其他选择)。气泡热图看起来像this。它也允许您选择气泡大小-可视化另一个变量(例如样本大小),或显示与颜色相同的变量,可能会强调效果。
让我知道您是否决定采用这种方式,并需要更多信息。