gpt4 book ai didi

r - ggplot2 错误 : Discrete value supplied to continuous scale

转载 作者:行者123 更新时间:2023-12-03 21:25:14 24 4
gpt4 key购买 nike

我有一个名为“merged”的数据集,其中包含 3 个数字列“pauseMedian”和“numTotalPauses”和“diff”。我还有一个 splineHull 数据集,其中还包含数字列“pauseMedian”和“numTotalPauses”,以及一个 6 级因子“microstyle”
我有以下代码,它完美地工作。它绘制一个散点图,然后用根据“微风格”着色的 splineHull 多边形覆盖它。
脚本 1:

ggplot(data=merged,aes(x = pauseMedian, y = numTotalPauses)) 
+ geom_point()
+ geom_polygon(data = splineHull,
mapping=aes(x=pauseMedian,
y=numTotalPauses,
group=microstyle,
color = microstyle),
alpha=0)
然后,我还想通过仅添加一个属性 color = diff 来更改散点图中点的颜色。
脚本 2:
ggplot(data=merged,aes(x = pauseMedian, y = numTotalPauses, color = diff)) 
+ geom_point()
+ geom_polygon(data = splineHull,
mapping=aes(x=pauseMedian,
y=numTotalPauses,
group=microstyle,
color = microstyle),
alpha=0)
我看到以下错误:

Error: Discrete value supplied to continuous scale


我不知道为什么我看到这个错误。如果我仍然想要彩色散点图但没有多边形,我运行以下代码,它再次起作用。
脚本 3:
ggplot(data=merged,aes(x = pauseMedian, y = numTotalPauses, color = diff)) 
+ geom_point()
那么, 发生了什么?脚本 2 ,错误来自哪里,我该如何使它工作?

最佳答案

显然,对于两种不同的几何图形,您不能有不同的颜色美感。作为一种解决方法,请对点使用填充美学。这意味着您必须使用具有填充内部的点标记样式(请参阅 ?pch 并向下滚动以获取可用的点样式)。这是一种方法:

ggplot() + 
geom_point(data=merged,aes(x = pauseMedian, y = numTotalPauses, fill = diff),
pch=21, size=5, colour=NA) +
geom_polygon(data = splineHull,
mapping=aes(x=pauseMedian,
y=numTotalPauses,
colour = microstyle),
alpha=0)

添加 colour=NA (在 aes() 之外),去掉点标记周围的默认黑色边框。如果您想要点周围的彩色边框,只需更改 colour=NA任何你喜欢的颜色。

另见 this thread来自 ggplot2谷歌小组,讨论类似的问题和一些解决方法。

关于r - ggplot2 错误 : Discrete value supplied to continuous scale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25937000/

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