【发布时间】:2020-01-03 03:00:53
【问题描述】:
我正在尝试在 ggplot 中制作图表,但 R 有一种愚蠢的排序方法。它不是制作最大的数字,而是按第一个数字 1-9 排序,例如 100k 低于 2。有人可以告诉我如何解决这个问题吗?
ggplot(AWD,aes(nationality, discipline, size = money)) +
geom_point() +
theme(text = element_text(size=25),axis.text.x = element_text(angle=90,
hjust=1, vjust=0.4))+
labs(title = "Roznica w wielkosci zarobkow sportowcow roznych dziedzin
dla kazdego panstwa", x="Reprezentowane panstwo", y="Rodzaj sportu",
fill="Poziom zarobow")
这是可重现的示例:
AWD <- data.frame(name = c("Aaron Donald", "Aaron Rodgers", "Albert Pujols", "Alexis SA¡nchez"),
nationality = c("Argentyna", "Brazylia", "Chile", "Dominikana"),
discipline = c("Baseball", "Boks", "Formula 1", "Futbol amerykanski"),
money = c("41,400,000", "89,300,000", "100,000,000", "30,700,000"))
AWD$money <- as.factor(AWD$money)
编辑:
我冒昧地减少了可重现的示例代码并重命名了几个变量。生成的 data.frame 与原始的相同有一个例外,代码更具可读性。它也不会弄乱我的 RStudio 布局。
例外是添加一个值来说明 ggplot 显示因子时发生的问题。
重命名主要是因为我不会说波兰语。每次正确编写使用的变量都需要时间。我将很快提供答案,它应该可以按原样使用此编辑。否则将需要一些小的调整。
【问题讨论】:
-
那是因为你的变量被作为一个因素。尝试删除
as.factor看看是否能解决问题。 -
这并不愚蠢,只是没有读懂你的想法。你还没有做任何事情可以按计数排序。将大小作为一个因素似乎是一个奇怪的选择——你不希望它成为一个连续变量吗?为了提供更多帮助,我们需要查看reproducible example
-
我删除了 as.factor,它什么也没改变,图表看起来完全一样。
-
我喜欢人们不喜欢的方式,但不会告诉你如何解决你的问题 ehhh
-
有人知道如何帮助我吗?