R 创建折线图以显示特定年份中每种类型的总磅数

R 创建折线图以显示特定年份中每种类型的总磅数,r,ggplot2,R,Ggplot2,我试图创建一个折线图,显示2017年每种牛奶的销量。它来自这个数据集 这就是我所拥有的,但我收到一条信息,询问我是否需要调整团队美学。不确定我做错了什么,所以我希望得到一些帮助 options(scipen = 999) fluid_milk_sales %>% filter(year == 2017) %>% select(milk_type, pounds) %>% ggplot(aes(x = milk_type, y = pounds)) + geom

我试图创建一个折线图,显示2017年每种牛奶的销量。它来自这个数据集

这就是我所拥有的,但我收到一条信息,询问我是否需要调整团队美学。不确定我做错了什么,所以我希望得到一些帮助

options(scipen = 999)

fluid_milk_sales %>%
  filter(year == 2017) %>%
  select(milk_type, pounds) %>%
  ggplot(aes(x = milk_type, y = pounds)) +
  geom_line()

你会发现错误,你的x变量是一个类别,你不能把它们连接成一行。我想您需要一个条形图(我翻转该图以便可以读取类型,如果不需要,您可以删除coord_flip()):

或者,如果你想要一个棒棒糖的情节,它会像:

fluid_milk_sales %>%
filter(year == 2017) %>%
ggplot(aes(x = reorder(milk_type,pounds), y = pounds)) +
geom_point() +
geom_segment(aes(xend = milk_type, yend = 0)) + 
coord_flip() + xlab("milk_type")

如果你真的想强制一条线,我认为这是没有意义的(注意我用负数重新排序,以最高的开始):


我明白你的意思,所以折线图不起作用?另外,我如何修正条形图,使其从最大到最小排列?嗯。。你可以,但这可能没有意义。。我可以编辑我的答案
fluid_milk_sales %>%
filter(year == 2017) %>%
ggplot(aes(x = reorder(milk_type,pounds), y = pounds)) +
geom_point() +
geom_segment(aes(xend = milk_type, yend = 0)) + 
coord_flip() + xlab("milk_type")
fluid_milk_sales %>%
filter(year == 2017) %>%
ggplot(aes(x = reorder(milk_type,-pounds), y = pounds,group=1)) +
geom_line() + xlab("milk_type")