当我添加形状时,分组哑铃图变得不灵敏

我有以下数据显示了不同领域中白人与黑人的百分比一致性。我想创建一个分组的哑铃图,其中“国家”值和“州”值彼此相邻,以便于比较。

Domain = c("A","B","C","D","E","F","G","A","G") 

Area = c("State","State","National","National"

race = c("White","White","Black","Black") 

pct_agreement = c(0.557610213756561,0.735042750835419,0.567375898361206,0.633762538433075,0.64091557264328,0.750356614589691,0.564539015293121,0.651861846446991,0.697574973106384,0.653521358966827,0.713940441608429,0.680985689163208,0.751584351062775,0.642535984516144,0.488484561443329,0.581625580787659,0.456939995288849,0.580652594566345,0.630399644374847,0.711643815040588,0.347775995731354,0.627996683120728,0.668737232685089,0.610245823860168,0.690373718738556,0.705771028995514,0.738830924034119,0.550933301448822)

当我添加形状时,分组哑铃图变得不灵敏

当我的代码如下时,我得到一个图形,其中所有点都很好地对齐:

df <- data.frame(Domain,Area,race,pct_agreement)

ggplot(df) +
  geom_point(aes(x=Domain,y=pct_agreement,color=Area),position=position_dodge(width=1)) +
  coord_flip()

当我添加形状时,分组哑铃图变得不灵敏

但是,当我尝试根据受访者是黑人还是白人而使形状有所不同时,一切突然看起来就很奇怪。这是错误吗?有什么办法可以解决它或解决它?

我也不确定如何在“哑铃”的两端之间添加一条线-我尝试使用geom_line(aes(group = Area)),但这导致了 all 哑铃被连接。

ggplot(df) +
  geom_point(aes(x=Domain,color=Area,shape=race),position=position_dodge(width=1)) +
  coord_flip()

当我添加形状时,分组哑铃图变得不灵敏

注意:我浏览了本网站上的许多帖子,以寻找答案,许多建议使用构面。这对我不起作用,因为我的老板希望在一张图表上全部显示。

vfshangjitiku 回答:当我添加形状时,分组哑铃图变得不灵敏

躲避是基于组进行的,对于每个域,使用两个类别变量(raceArea)最终以四个为一组,从而将点躲避到四个不同的位置。您可以通过显式设置组的美观程度来避免这种情况。

首先数据:

Domain = c("A","B","C","D","E","F","G","A","G") 

Area = c("State","State","National","National")

race = c("White","White","Black","Black") 

pct_agreement = c(0.557610213756561,0.735042750835419,0.567375898361206,0.633762538433075,0.64091557264328,0.750356614589691,0.564539015293121,0.651861846446991,0.697574973106384,0.653521358966827,0.713940441608429,0.680985689163208,0.751584351062775,0.642535984516144,0.488484561443329,0.581625580787659,0.456939995288849,0.580652594566345,0.630399644374847,0.711643815040588,0.347775995731354,0.627996683120728,0.668737232685089,0.610245823860168,0.690373718738556,0.705771028995514,0.738830924034119,0.550933301448822)

df <- data.frame(Domain,Area,race,pct_agreement)

现在是剧情:

library(tidyverse)

ggplot(df) +
  geom_point(
    aes(
      x=Domain,y=pct_agreement,color=Area,shape=race,group = Area
    ),position=position_dodge(width=1)
  ) +
  coord_flip()

reprex package(v0.3.0)于2019-11-08创建

将点与线连接起来很困难。我认为这值得一个单独的问题。我发布了一个here.

本文链接:https://www.f2er.com/3141873.html

大家都在问