climsaver
climsaver

Reputation: 617

Adjust the legend labels in image plot

Normally I provide some sample code for an reproducible example, but in this case it is a bit tricky. But I believe this question can be solved also without a reproduced example.

I have an image plot generated with the following code:

col <- c("red", "white", "blue") # set the color palette
image.plot(lon.list[[1]], lat.list[[1]], MK.list3[[6]][[8]], 
           main = paste0("Drought Index Trend \n", names(Index.list[[1]])[1]), 
           col = col,
           xlab = "Longitude [°]",
           ylab = "Latitude [°]",
           legend.lab = "", 
           legend.line = 2.5,
           zlim = c(-1,1))  
plot(sf_object, add = T, border = "Black")

The resulting plot is the following: enter image description here

I have a problem with the legend labels. Since there are only three values, -1, 0, 1, it is sufficient that only these values are displayed at the legend in the middle of each color.

So it should like this (the different colors don't matter):

enter image description here

Anybody with a hint how to achieve this?

Upvotes: 1

Views: 927

Answers (1)

climsaver
climsaver

Reputation: 617

Thanks to the comment of user20650, I found the solution. Here is the updated code which does what I want:

col <- c("red", "white", "blue") # set the color palette
image.plot(lon.list[[1]], lat.list[[1]], MK.list3[[6]][[8]], 
           main = names(Index.list[[1]])[8], 
           col = col,
           xlab = "",
           ylab = "",
           legend.lab = "", 
           legend.line = 2.5,
           zlim = c(-1,1),
           axis.args = list(c(-1:1))) ### this is the new part ###
plot(sf_object, add = T, border = "Black")

Upvotes: 1

Related Questions