0

これに似たグラフを取得しようとすることについて、以前の投稿を作成しました: http://i.imgur.com/HVuxOKy.png

これまでのところ、私のグラフは次のようになっています: http://imgur.com/Tw7SNWC

これまでのコードは次のとおりです。私はRに比較的慣れていないため、フィードバックや改善方法があれば本当に感謝しています。すべてのデータ(1953年から2013年)を1つの水にグラフ化する際に遭遇した主な問題の1つ年(10月から9月)。ソリューションを作成しましたが、理想的ではないことは確かです。

library(ggplot2)
library(plyr)
library(reshape2)
library(scales)

## Read Data
df <- read.csv("Salt River Flow.csv")

## Convert Date column to R-recognized dates
df$Date <- as.Date(df$Date, "%m/%d/%Y")

## Finds Water Years (Oct - Sept)
df$WY <- as.POSIXlt(as.POSIXlt(df$Date)+7948800)$year+1900

## Normalizes Water Years so stats can be applied to just months and days
df$w <- ifelse(month(df$Date) %in% c(10,11,12), 1900, 1901)

## Creates New Date (dat) Column
df$dat <- as.Date(paste(df$w,month(df$Date),day(df$Date), sep = "-"))

## Creates new data frame with summarised data by MonthDay
PlotData <- ddply(df, .(dat), summarise, 
Min = min(Flow), "10%" = quantile(Flow, p = 0.05), "25%" = quantile(Flow, p = 0.25), 
Median = quantile(Flow, p = 0.50), Mean = mean(Flow), "75%" = quantile(Flow, p = 0.75), 
"90%" = quantile(Flow, p = 0.90), Max = max(Flow))

## Melts data so it can be plotted with ggplot
m <- melt(PlotData, id="dat")

## Plots
p <- ggplot(m, aes(dat, value, group = variable, colour = variable))
+ geom_line() + labs(x = "Month",y = "Flow") + 
scale_x_date(labels=date_format("%b"))

ご覧のとおり、私は自分が望むものにかなり近づいていますが、「ymin」および「ymax」変数ベースを作成する方法がわからないため、リボン (ポリゴン?) を機能させるのにかなりの時間を費やしています。私のデータで。

コメントや考えは大歓迎です!!!

ありがとうございました!

4

0 に答える 0