【发布时间】:2017-03-01 10:30:45
【问题描述】:
我正在努力为散点图正确排序我的 x 轴,我希望在第二个离散因子中以增加特定组的数字因子的大小对离散 x 轴标签进行排序。并且要通过第四个离散因子将它由 facet_grid (或 facet_wrap 如果在这种情况下更好?)分开。我希望这是有道理的?如果没有,希望我在下面的示例中解释一下。
似乎有几个有用的在线帮助页面,我确定答案就在那里 - 但我似乎无法将它应用于我的案例。
这是我的示例数据集...
Car = c("A","A","A","B","B","C","C","D","D","E","E","F","F","G","G","G","H","H","H","H","I","I","J","J","J","K","K","K","L","L","M","M","N","N","N","O","O","P","P","Q","Q","R","R","S","S","T","T","U","U","U","V","V","V","V","X","X","X")
Area = c("MMR","QRT","VF","QRT","VF","MMR","QRT","MMR","QRT","MMR","QRT","QRT","VF","MMR","QRT","VF","MMR","QRT","PP","VF","QRT","VF","QRT","PP","VF","MMR","QRT","VF","QRT","VF","QRT","VF","MMR","QRT","VF","QRT","VF","QRT","VF","QRT","VF","MMR","QRT","MMR","QRT","MMR","QRT","MMR","QRT","VF","MMR","QRT","PP","VF","MMR","QRT","VF")
Distance = c(100,0.0022,1320,0.002,1056,1030,0.025,62.1,0.06,80,0.011,7.2,100,671,91.677,165,0.61,0.1102,0.08,11.5,0.173,327,0.159,0.82,0.01902,10,0.0079,23,0.186,0.02235,0.038,0.022,100,0.016,0.01359,0.18,0.02291,0.00048,1000,0.007,8.21,1000,0.0349,100,0.0056,100,0.022,100,0.05,13,17.9,0.032,0.22,87,100,0.09,0.0251)
Country = c("UK","UK","UK","UK","UK","UK","UK","UK","UK","UK","UK","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","FR","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM","AM")
df=data.frame(Car, Area, Distance, Country)
df
我希望有一个绘图,其中我在 x 轴上有“汽车”,在 Y 轴上有“距离”。我想使用 facet_grid 并在每个方面 Id 内按“国家”分割该图,就像 x 轴一样,通过在“面积”因子中增加“QRT”的距离来排序。
以下代码用于绘制我的目标(x 轴排序问题除外)
Fig2B<- ggplot(df,aes(x=Car,y=Distance,colour=Area)) +
coord_trans(y = "log10") +
geom_point() +
facet_grid(. ~ Country, scales = "free", space="free")
我最接近重新订购的是通过以下有用的post。
使用以下代码,我可以创建一个看起来可以正确排序的新因子。
#Remove grouping
ungroup(df) %>%
# 2. Arrange by
# i. facet group
# ii. bar height
arrange(Country, Distance, Area) %>%
# 3. Add order column of row numbers
mutate(order = row_number())
但是我不知道如何将其带到下一个阶段并使用文章中的代码在我的情节中使用它。我收到以下消息...
不知道如何为函数类型的对象自动选择比例。默认为连续。 (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : 参数暗示不同的行数: 0, 57
我现在不知道从这里去哪里。
【问题讨论】:
-
您是否为数据集指定了新变量的名称?在以
ungroup(df)开头的代码中,您似乎没有将结果分配给任何东西。这将使稍后引用order变量的绘图代码失败并出现错误。由于order也是一个函数,我可以想象它会失败并显示给定的错误消息。
标签: r ggplot2 scatter-plot facet factors