- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道已经有很多关于这个主题的帖子,其中大部分都归因于未在 ggplot2 中映射的变量或数据。但是,就我而言,我确实拥有它,并且在我的 ggplot2 中进一步使用它。
我的来源是来自 Power BI 的数据集
Throughput Label ThroughputAgegroup
621 Assess reimbursement 1-3 Maanden
1201 Assess reimbursement 3-6 Maanden
105 Authorized 3-6 Maanden
150 Cancelled 1-3 Maanden
771 Cancelled 3-6 Maanden
4215 Closed 0-14 Dagen
57098 Closed 1-3 Maanden
14180 Closed 15-30 Dagen
26631 Closed 3-6 Maanden
14813 Closed 6-12 Maanden
52347 Closed Groter dan 12 maanden
1600 Dispatched 1-3 Maanden
58 Dispatched 15-30 Dagen
394 Dispatched 3-6 Maanden
110 Intake 1-3 Maanden
818 Ready for closure 1-3 Maanden
112 Ready for closure 3-6 Maanden
我的 R 图:
ggplot(dataset, aes(x=`ThroughputAgegroup`, y=`Label`))+
geom_point(size=10, alpha=0.5,aes(colour=`Label`), na.rm = TRUE) +
geom_text(aes(label=`Throughput`), size=3) +
scale_colour_brewer(palette="Set1")
我想让大小取决于吞吐量
。
当我尝试运行它时:
ggplot(dataset, aes(x=`ThroughputAgegroup`, y=`Label`))+
geom_point(aes(size=`Throughput`), alpha=0.5,aes(colour=`Label`)) +
geom_text(aes(label=`Throughput`), size=3) +
scale_colour_brewer(palette="Set1")
我得到提示:错误:ggplot2 不知道如何处理 uneval 类的数据
但我就是不明白为什么它不能上课?
最佳答案
正如评论已经指出的那样,存在以下问题:
geom_point(aes(size=`Throughput`), alpha=0.5,aes(colour=`Label`))
这是您需要用它来替换它以使大小取决于吞吐量:
size1 <- dataset$Throughput
geom_point(size=size1, alpha=0.5,aes(colour=`Label`), na.rm = TRUE)
但您的挑战并不止于此。让我告诉你我的意思。
很高兴您提供了数据样本。但是,由于您的分隔符似乎是 space
,因此样本数据杂乱且不易拾取并不是很好。你的变量中有几个空格。如果您改用它:
Throughput,Label,ThroughputAgegroup
621,Assess reimbursement,1-3 Maanden
1201,Assess reimbursement,3-6 Maanden
105,Authorized,3-6 Maanden
150,Cancelled,1-3 Maanden
771,Cancelled,3-6 Maanden
4215,Closed,0-14 Dagen
57098,Closed,1-3 Maanden
14180,Closed,15-30 Dagen
26631,Closed,3-6 Maanden
14813,Closed,6-12 Maanden
52347,Closed,Groter dan 12 maanden
1600,Dispatched,1-3 Maanden
58,Dispatched,15-30 Dagen
394,Dispatched,3-6 Maanden
110,Intake,1-3 Maanden
818,Ready for closure,1-3 Maanden
112,Ready for closure,3-6 Maanden
您可以使用 dataset <- read.delim("clipboard", sep = ",")
轻松复制并导入 R 中
现在,图表:
绘图 1 - 您的原始图表:
Plot 3 - 您的图表 geom_point(size=size1, alpha=0.5,aes(colour=
标签 ), na.rm = TRUE)
我敢打赌这不是您要找的。这里发生的情况是,您有一些值较低,而其他一些值相对非常高,因此图表由后者主导。不过不要绝望,你可以用系列的日志代替:
# my suggestion
size2 <- log(dataset$Throughput)
ggplot(dataset, aes(x=`ThroughputAgegroup`, y=`Label`))+
geom_point(size=size2, alpha=0.5,aes(colour=`Label`), na.rm = TRUE) +
geom_text(aes(label=`Throughput`), size=3) +
scale_colour_brewer(palette="Set1")
绘图 - 气泡大小 = log(dataset$Throughput)
我觉得还行!但您也可以使用 log(dataset$Throughput)^1.6
进行进一步调整。并调整最后一部分 ^1.6
,像这样:
如果您仍然不太满意,请查看 ggplot2.tidyverse.org 上的精湛文档。然后从那里拿走它。
这里是一个简单的复制和粘贴的完整代码:
library(ggplot2)
# rm(list=ls())
# dataset <- read.delim("clipboard", sep = ",")
# original
ggplot(dataset, aes(x=`ThroughputAgegroup`, y=`Label`))+
geom_point(size=10, alpha=0.5,aes(colour=`Label`), na.rm = TRUE) +
geom_text(aes(label=`Throughput`), size=3) +
scale_colour_brewer(palette="Set1")
# my suggestion
size2 <- log(dataset$Throughput)
size3 <- log(dataset$Throughput)^1.6
ggplot(dataset, aes(x=`ThroughputAgegroup`, y=`Label`))+
geom_point(size=size3, alpha=0.5,aes(colour=`Label`), na.rm = TRUE) +
geom_text(aes(label=`Throughput`), size=3) +
scale_colour_brewer(palette="Set1")
关于R ggplot2 不知道如何处理 uneval 类的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40504168/
NOTE: I do realize that there's currently low browser support for the uneval function, however I am
Uncaught ReferenceError :uneval 未定义 它适用于 Firefox,但不适用于 Google Chrome。 我尝试: var getSaved = [['ABC', '
我知道已经有很多关于这个主题的帖子,其中大部分都归因于未在 ggplot2 中映射的变量或数据。但是,就我而言,我确实拥有它,并且在我的 ggplot2 中进一步使用它。 我的来源是来自 Power
uneval(...) 和 .toSource() 有什么区别? The toSource() method returns a string representing the source code
尝试将新行覆盖到现有 ggplot 时,我收到以下错误: Error: ggplot2 doesn't know how to deal with data of class uneval 我的代码的
这个问题在这里已经有了答案: How to deal with "data of class uneval" error from ggplot2? (3 个回答) 8年前关闭。 我是 R 新手,不知
我有这个代码 ggplot() + stat_density(kernel = "biweight",aes(x=fd, colour=id), data=foo1,position="ident
我是一名优秀的程序员,十分优秀!