带交互的ggplot重新排序
ggplot reordering w/ interaction
我有以下table。我需要按 Freq
对数据进行排序,但是,我还需要显示两个 x 轴标签 - 一个用于 start.station
,一个用于 end.station
,以便清楚我在说什么关于站对。我使用 interaction
但现在我也不确定如何输入代码以通过 Freq
订购。另外,我想在顶部 X 轴上显示 start.station,在底部 X 轴上显示 end.station。
> new_pairs
x y Freq start.latittude start.longitude start.station
1 359 519 929 40.75188 -73.97770 Pershing\nSquare N
2 477 465 5032 40.75514 -73.98658 Broadway &\nW 41 St
3 484 519 1246 40.75188 -73.97770 Pershing\nSquare N
4 484 318 2654 40.75320 -73.97799 E 43 St &\nVanderbilt\nAve
5 492 267 1828 40.75098 -73.98765 Broadway &\nW 36 St
6 492 498 957 40.74855 -73.98808 Broadway &\nW 32 St
7 492 362 1405 40.75173 -73.98754 Broadway &\nW 37 St
8 493 477 1582 40.75641 -73.99003 W 41 St &\n8 Ave
9 493 529 728 40.75757 -73.99099 W 42 St &\n8 Ave
10 529 2021 1748 40.75929 -73.98860 W 45 St &\n8 Ave
end.latitude end.longitude end.station
1 40.75510 -73.97499 E 47 St &\nPark Av
2 40.75641 -73.99003 W 41 St &\n8 Ave
3 40.75500 -73.98014 W 44 St &\n5 Ave
4 40.75500 -73.98014 W 44 St &\n5 Ave
5 40.75020 -73.99093 W 33 St &\n7 Ave
6 40.75020 -73.99093 W 33 St &\n7 Ave
7 40.75020 -73.99093 W 33 St &\n7 Ave
8 40.75680 -73.98291 W 45 St &\n6 Ave
9 40.75680 -73.98291 W 45 St &\n6 Ave
10 40.75757 -73.99099 W 42 St &\n8 Ave
ggplot(data= new_pairs, aes(x= interaction(end.station,start.station) y=Freq)) +
geom_bar(stat="identity") +
ylab("Bikes received") +
xlab("Station")
使用鸢尾花数据集。我创建了一个交互并使用 \n 来设置两组标签。您只需要为您的数据集调整 scale_x_discrete() 表达式,它应该可以工作。
iris$Species2 <- iris$Species
iris$Int <- interaction(iris$Species2, iris$Species)
ggplot(data= iris, aes(x= Int, y=Petal.Length)) + geom_bar(stat="identity") + scale_x_discrete("Int", labels = c("setosa.setosa" = "setosa\nsetosa","versicolor.versicolor" = "versicolor\nversicolor",
"virginica.virginica" = "virginica\nvirginica"))
我有以下table。我需要按 Freq
对数据进行排序,但是,我还需要显示两个 x 轴标签 - 一个用于 start.station
,一个用于 end.station
,以便清楚我在说什么关于站对。我使用 interaction
但现在我也不确定如何输入代码以通过 Freq
订购。另外,我想在顶部 X 轴上显示 start.station,在底部 X 轴上显示 end.station。
> new_pairs
x y Freq start.latittude start.longitude start.station
1 359 519 929 40.75188 -73.97770 Pershing\nSquare N
2 477 465 5032 40.75514 -73.98658 Broadway &\nW 41 St
3 484 519 1246 40.75188 -73.97770 Pershing\nSquare N
4 484 318 2654 40.75320 -73.97799 E 43 St &\nVanderbilt\nAve
5 492 267 1828 40.75098 -73.98765 Broadway &\nW 36 St
6 492 498 957 40.74855 -73.98808 Broadway &\nW 32 St
7 492 362 1405 40.75173 -73.98754 Broadway &\nW 37 St
8 493 477 1582 40.75641 -73.99003 W 41 St &\n8 Ave
9 493 529 728 40.75757 -73.99099 W 42 St &\n8 Ave
10 529 2021 1748 40.75929 -73.98860 W 45 St &\n8 Ave
end.latitude end.longitude end.station
1 40.75510 -73.97499 E 47 St &\nPark Av
2 40.75641 -73.99003 W 41 St &\n8 Ave
3 40.75500 -73.98014 W 44 St &\n5 Ave
4 40.75500 -73.98014 W 44 St &\n5 Ave
5 40.75020 -73.99093 W 33 St &\n7 Ave
6 40.75020 -73.99093 W 33 St &\n7 Ave
7 40.75020 -73.99093 W 33 St &\n7 Ave
8 40.75680 -73.98291 W 45 St &\n6 Ave
9 40.75680 -73.98291 W 45 St &\n6 Ave
10 40.75757 -73.99099 W 42 St &\n8 Ave
ggplot(data= new_pairs, aes(x= interaction(end.station,start.station) y=Freq)) +
geom_bar(stat="identity") +
ylab("Bikes received") +
xlab("Station")
使用鸢尾花数据集。我创建了一个交互并使用 \n 来设置两组标签。您只需要为您的数据集调整 scale_x_discrete() 表达式,它应该可以工作。
iris$Species2 <- iris$Species
iris$Int <- interaction(iris$Species2, iris$Species)
ggplot(data= iris, aes(x= Int, y=Petal.Length)) + geom_bar(stat="identity") + scale_x_discrete("Int", labels = c("setosa.setosa" = "setosa\nsetosa","versicolor.versicolor" = "versicolor\nversicolor",
"virginica.virginica" = "virginica\nvirginica"))