gpt4 book ai didi

r:在 ggplot2 中绘制带孔的多边形时撕裂

转载 作者:行者123 更新时间:2023-12-04 12:01:02 26 4
gpt4 key购买 nike

我正在尝试绘制这些 body 图,但无法正确显示脸部。 “头部”由两个多边形组成:一个是面部(实心椭圆形),另一个是头部的其余部分( donut 形,中心有孔)。这些应根据“分数”列的值着色。我在 的位置上尝试了很多变化。组=组被放置,填充=比例 .

comparison of real data

  ggplot(data=Patients, aes(y=lat, 
x=long,
fill=factor(score),
group=group))+
geom_polygon(color="black")+
facet_wrap(~Patient,
ncol = 5)+
scale_fill_manual(values=scoreColor)+
coord_fixed()

任何帮助,将不胜感激。

我在下面的可重现示例中包含了我的尝试。
library(ggplot2)
fortifyResults <-read.table(header=T, stringsAsFactors = F, text="
long lat order hole piece group id score
1 1 1 FALSE 1 Outer.1 Outer 20
1 4 2 FALSE 1 Outer.1 Outer 20
4 4 3 FALSE 1 Outer.1 Outer 20
4 1 4 FALSE 1 Outer.1 Outer 20
1 1 5 FALSE 1 Outer.1 Outer 20
2 2 6 TRUE 2 Outer.2 Outer 20
3 2 7 TRUE 2 Outer.2 Outer 20
3 3 8 TRUE 2 Outer.2 Outer 20
2 3 9 TRUE 2 Outer.2 Outer 20
2 2 10 TRUE 2 Outer.2 Outer 20
2 2 11 FALSE 1 Inner.1 Inner 10
2 3 12 FALSE 1 Inner.1 Inner 10
3 3 13 FALSE 1 Inner.1 Inner 10
3 2 14 FALSE 1 Inner.1 Inner 10
2 2 15 FALSE 1 Inner.1 Inner 10
")

此版本的代码没有显示这两部分(即使它们在图例中)
ggplot(data=fortifyResults, aes(y=lat, x=long, group=group))+
geom_polygon(aes(fill=factor(score)),color="black")

而这个导致撕裂
ggplot(data=fortifyResults, aes(y=lat, x=long), group=group)+
geom_polygon(aes(fill=factor(score)),color="black")

comparison of example

我读到点的方向有所不同。方向就是这样出来的。
ggplot(data= fortifyResults, aes(y=lat, x=long, group=group))+   
geom_polygon(fill="yellow", color="black")+
geom_text(aes(label=order),hjust=0, vjust=-0.3)+
facet_wrap(~id)

enter image description here

同样,此处标题为“外部”的那个应该在中间有一个孔(hole==TRUE)。根据我的阅读,他们应该朝另一个方向发展。我试过颠倒逻辑,改变点的方向,以及一堆其他的东西。我希望你们能帮忙。

最佳答案

library(ggpolypath)

ggplot(data = fortifyResults, aes(y = lat, x = long, group = group)) +
geom_polypath(aes(fill = factor(score)), color = "black")

1

关于r:在 ggplot2 中绘制带孔的多边形时撕裂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34102257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com