[R] [ggplot2] Wind rose orientation
Thomas S. Dye
tsd at tsdye.com
Fri Dec 4 08:42:27 CET 2009
Hi Hadley,
That solved a lot of problems. Thanks!
Do you get a vertically oriented bar? Here I get 15 bars with a space
where the north bar, the 16th bar, should be.
All the best,
Tom
On Dec 3, 2009, at 8:16 PM, hadley wickham wrote:
> Hi Thomas,
>
> Ok, the key thing that you were missing was:
>
> scale_x_continuous(limits = c(0, 360))
>
> Since you don't have any data at 0, and because ggplot2 doesn't know
> that your variable had intrinsic meaning as a degree, it was starting
> zero degrees at 22.5.
>
> A few other tweaks below:
>
> wind.data$wind <- factor(wind.data$wind,
> c("calm", "< 3", "4 - 12", "13 - 24", "> 25"))
>
> ggplot(wind.data, aes(x = degree, y = time, fill = wind)) +
> xlab(NULL) + ylab(NULL) +
> geom_bar(stat = "identity", aes(width = 22.5)) +
> scale_x_continuous(limits = c(0, 360), breaks = c(0, 90, 180, 270)) +
> coord_polar() +
> scale_fill_brewer(pal = "Blues")
>
> Regards,
>
> Hadley
>
> On Fri, Dec 4, 2009 at 12:02 AM, Thomas S. Dye <tsd at tsdye.com> wrote:
>> Aloha Hadley,
>>
>> Thanks very much for ggplot. It's a terrific piece of work.
>> Specifying
>> width = 1 in the call to geom_bar didn't change the orientation of
>> the
>> coordinates. If you run the example, you'll see that 100 is
>> horizontal,
>> where 90 would be on the compass.
>>
>> Here is a reproducible example. The data are shown here as the
>> results of
>> evaluating the read-data source code block, displayed as an Org-
>> mode table.
>> A csv file is also attached (if it makes it through the list).
>>
>> #+srcname: read-data
>> #+begin_src R :session
>> wind.data <- read.csv("pmrf_windrose_info_new.csv")
>> #+end_src
>>
>> #+resname: read-data
>> | "E" | 90 | 4.9 | "calm" |
>> | "ENE" | 67.5 | 4.9 | "calm" |
>> | "NE" | 45 | 4.9 | "calm" |
>> | "NNE" | 22.5 | 4.9 | "calm" |
>> | "N" | 360 | 4.9 | "calm" |
>> | "NNW" | 337.5 | 4.9 | "calm" |
>> | "NW" | 315 | 4.9 | "calm" |
>> | "WNW" | 292.5 | 4.9 | "calm" |
>> | "W" | 270 | 4.9 | "calm" |
>> | "WSW" | 247.5 | 4.9 | "calm" |
>> | "SW" | 225 | 4.9 | "calm" |
>> | "SSW" | 202.5 | 4.9 | "calm" |
>> | "S" | 180 | 4.9 | "calm" |
>> | "SSE" | 157.5 | 4.9 | "calm" |
>> | "SE" | 135 | 4.9 | "calm" |
>> | "ESE" | 112.5 | 4.9 | "calm" |
>> | "" | 90 | 9 | "< 3" |
>> | "" | 67.5 | 3 | "< 3" |
>> | "" | 45 | 3 | "< 3" |
>> | "" | 22.5 | 1 | "< 3" |
>> | "" | 360 | 1 | "< 3" |
>> | "" | 337.5 | 0.5 | "< 3" |
>> | "" | 315 | 1 | "< 3" |
>> | "" | 292.5 | 0.5 | "< 3" |
>> | "" | 270 | 1 | "< 3" |
>> | "" | 247.5 | 0.5 | "< 3" |
>> | "" | 225 | 0.5 | "< 3" |
>> | "" | 202.5 | 0.5 | "< 3" |
>> | "" | 180 | 1 | "< 3" |
>> | "" | 157.5 | 0.5 | "< 3" |
>> | "" | 135 | 3 | "< 3" |
>> | "" | 112.5 | 2 | "< 3" |
>> | "" | 90 | 6 | "4 - 12" |
>> | "" | 67.5 | 4 | "4 - 12" |
>> | "" | 45 | 5 | "4 - 12" |
>> | "" | 22.5 | 2 | "4 - 12" |
>> | "" | 360 | 5 | "4 - 12" |
>> | "" | 337.5 | 4 | "4 - 12" |
>> | "" | 315 | 7 | "4 - 12" |
>> | "" | 292.5 | 4 | "4 - 12" |
>> | "" | 270 | 6 | "4 - 12" |
>> | "" | 247.5 | 2 | "4 - 12" |
>> | "" | 225 | 4 | "4 - 12" |
>> | "" | 202.5 | 1.5 | "4 - 12" |
>> | "" | 180 | 1.5 | "4 - 12" |
>> | "" | 157.5 | 1.5 | "4 - 12" |
>> | "" | 135 | 5 | "4 - 12" |
>> | "" | 112.5 | 2.5 | "4 - 12" |
>> | "" | 90 | 0 | "13 - 24" |
>> | "" | 67.5 | 0 | "13 - 24" |
>> | "" | 45 | 0 | "13 - 24" |
>> | "" | 22.5 | 0 | "13 - 24" |
>> | "" | 360 | 1 | "13 - 24" |
>> | "" | 337.5 | 0.5 | "13 - 24" |
>> | "" | 315 | 0.5 | "13 - 24" |
>> | "" | 292.5 | 1 | "13 - 24" |
>> | "" | 270 | 1 | "13 - 24" |
>> | "" | 247.5 | 0 | "13 - 24" |
>> | "" | 225 | 0 | "13 - 24" |
>> | "" | 202.5 | 0 | "13 - 24" |
>> | "" | 180 | 0.5 | "13 - 24" |
>> | "" | 157.5 | 0.5 | "13 - 24" |
>> | "" | 135 | 1 | "13 - 24" |
>> | "" | 112.5 | 0 | "13 - 24" |
>> | "" | 90 | 0 | "> 25" |
>> | "" | 67.5 | 0 | "> 25" |
>> | "" | 45 | 0 | "> 25" |
>> | "" | 22.5 | 0 | "> 25" |
>> | "" | 360 | 0 | "> 25" |
>> | "" | 337.5 | 0 | "> 25" |
>> | "" | 315 | 0 | "> 25" |
>> | "" | 292.5 | 0 | "> 25" |
>> | "" | 270 | 0 | "> 25" |
>> | "" | 247.5 | 0 | "> 25" |
>> | "" | 225 | 0 | "> 25" |
>> | "" | 202.5 | 0 | "> 25" |
>> | "" | 180 | 0 | "> 25" |
>> | "" | 157.5 | 0 | "> 25" |
>> | "" | 135 | 0 | "> 25" |
>> | "" | 112.5 | 0 | "> 25" |
>>
>>
>> #+begin_src R :session
>> library(ggplot2)
>> <<read-data>>
>> wind <- ggplot(wind.data, aes(x = degree, y = time, fill = wind,
>> xlab(NULL), ylab(NULL)))
>> wind.bar <- wind + geom_bar(stat = "identity", width = 1)
>> wind.bar + coord_polar()
>> #+end_src
>>
>> All the best,
>> Tom
>>
>>
>>
>> On Dec 3, 2009, at 4:35 PM, hadley wickham wrote:
>>
>>> Hi Thomas,
>>>
>>> I suspect you want geom_bar(stat = "identity", width = 1), but it's
>>> hard to be sure without a reproducible example.
>>>
>>> Hadley
>>>
>>> On Thu, Dec 3, 2009 at 8:18 PM, Thomas S. Dye <tsd at tsdye.com> wrote:
>>>>
>>>> Aloha all,
>>>>
>>>> I love using ggplot. It took a while to get used to the grammar of
>>>> graphics, but it is starting to get easy now that I am thinking
>>>> in a
>>>> more structured way.
>>>>
>>>> A question. I'm making a wind rose that I'd like to be oriented
>>>> with
>>>> due north straight up. I've discovered that the orientation is
>>>> sensitive to how north is represented. When north is represented
>>>> as
>>>> 0, the orientation looks to be shifted just a bit counter-
>>>> clockwise,
>>>> perhaps 10 degrees. When north is represented as 360, the plot is
>>>> shifted clockwise, but past the point where north is straight
>>>> up. How
>>>> to get north straight up?
>>>>
>>>> I've read the book (very nice) and have skimmed through the
>>>> documentation without finding what I need. Any help much
>>>> appreciated.
>>>>
>>>> Here is the code from my Org-babel session:
>>>>
>>>> #+begin_src R :session
>>>> library(ggplot2)
>>>> wind.data <- read.csv("pmrf_windrose_info_new.csv")
>>>> wind <- ggplot(wind.data, aes(x = degree, y = time, fill = wind))
>>>> wind.bar <- wind + geom_bar(stat = "identity")
>>>> wind.bar + coord_polar()
>>>> #+end_src
>>>>
>>>> All the best,
>>>> Tom
>>>>
>>>> Thomas S. Dye, Ph.D.
>>>> T. S. Dye & Colleagues, Archaeologists, Inc.
>>>> Phone: (808) 529-0866 Fax: (808) 529-0884
>>>> http://www.tsdye.com
>>>>
>>>>
>>>>
>>>> [[alternative HTML version deleted]]
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>
>>>
>>>
>>>
>>> --
>>> http://had.co.nz/
>>
>>
>>
>
>
>
> --
> http://had.co.nz/
More information about the R-help
mailing list