【发布时间】:2020-11-27 11:09:19
【问题描述】:
我正在处理以下脚本,我想按其值的降序对条形图重新排序。
library(tidyverse)
library(lubridate)
library(ggplot2)
#df <- read_csv('dataframe.csv')
df %>%
mutate(date=mdy(date), year=year(date), year = year + (date >= mdy(paste0("10/01/", year))))%>%
group_by(year) %>%
summarize(avg = mean(flow)) -> df
y <- df$avg
x <- ymd(sprintf("%d-01-01",df$year))
d <- data.frame(x = x, y = y)
# interpolate values from zero to y and create corresponding number of x values
vals <- lapply(d$y, function(y) seq(0, y, by = 0.1))
y <- unlist(vals)
mid <- rep(d$x, lengths(vals))
d2 <- data.frame(x = mid - 100,
xend = mid + 100,
y = y,
yend = y)
ggplot(data = d2, aes(x = x, xend = xend, y = y, yend = yend, color = y)) +
geom_segment(size = 2)
我想按值降序重新排列条形
数据集可以通过以下链接找到
https://drive.google.com/file/d/11PVub9avzMFhUz02cHfceGh9DrlVQDbD/view?usp=sharing
请提供帮助。
【问题讨论】:
-
您的 x 轴当前是有序的、连续的日期时间轴。您必须将您的年份转换为因子变量并根据频率对该因子进行排序。
标签: r ggplot2 tidyverse lubridate