I have dataset as follows:

```
df = data.frame(name = c('Ger1', 'Ger2', 'Ger3', 'Ger4', 'Ger5', 'Ger6'),
            issued = c(UKS, USD, UKS, UKS, USD, USD),
            mat = c(2024-01-31, 2023-01-31, 2026-10-22, 2022-07-22, 2029-01-31, 2025-06-07)
            volume = c(0.476, 0.922, 0.580, 1.259, 0.932, 0.417)

```

I currently plot (and filter) the data using the following code:

```
plot1<- ggplot(subset(df, issued == "UKS")) +
  geom_bar(stat="identity", aes(x=volume,y=name),fill="#1170aa")+
  theme(title=element_text(size=12),
        panel.background = element_rect(fill='white',color='black'),
        legend.position='right')+
  labs(title = "Total carriage by Volume on the day", x = "Volume", y = "Name")

```

I'd like to be able to order this data using the 'mat' column as guide, namely with the data that has the earliest 'mat' date at the top of the Y axis and the most distant 'mat' date at the bottom. Does anyone have any advice on how to achieve this?

Edit: I use grid arrange to plot it against another chart.

```
grid.arrange(plot1,plot2,ncol=2)

```

Sadly I get the following error:

```
Error in `-.POSIXt`(Maturity) : unary '-' is not defined for "POSIXt" objects

```