Good afternoon,
I am trying to produce a time-series plot with arrows showing wind direction and coloured to show wind speed strength. Ultimately I am trying to get a plot something like this (just an example picture I found online):

I have managed to find a similar post (see below) and I tried to follow but I am stuck with the displaying of Wind Direction arrows correctly.
Previous similar post: ggplot2 wind time series with arrows/vectors
The codes I have put together so far are as follows:
require(ggplot2)
require(scales)
require(gridExtra)
require(lubridate)
dat <- data.frame(datetime = ISOdatetime(2013,08,04,0,0,0) +
                     seq(0:23)*60*60, pollutant = runif(24, 25, 75))
## create wind speed data
dat$ws <- runif(nrow(dat), 0 , 15 )
## create wind direction data
dat$wd <- runif(nrow(dat), 0 , 360 )
# define an end point for geom_segment
dat$x.end <- dat$datetime + minutes(60)
ggplot(data = dat, aes(x = datetime, y = pollutant)) +
  geom_line() +
  geom_segment(data = dat,
               size = 1,
               aes(x = datetime,
                   xend = x.end,
                   y = pollutant,
                   yend = wd),
               arrow = arrow(length = unit(0.5, "cm"))) +
  theme()
Using the above code I am getting the following plot:

As you can see the plot starts the arrow where I would like it to start but the direction and end point is too long and I am not sure how I can scale this to be a shorter arrow with colour coded to speed. I would really appreciate any of your guidence regarding how I can acheive this.
Many thanks, Ayan
 
     
    

 
     
     
    