Минимальная и максимальная отметка градиента градиента заливки с текстом: ggplot2
У меня есть график, созданный в ggplot2
, который использует scale_fill_gradientn
. Я бы хотел добавить текст с минимальным и максимальным значком масштаба. Например, на минимальном значении легенды "Минимум" и на максимальном значении легенды "Максимум". Есть сообщения с использованием дискретных заполнений и добавления меток с числами вместо текста (например, здесь), но я не уверен, как использовать функцию labels
с scale_fill_gradientn
до только вставляйте текст в мин и макс. В настоящее время я склонен к ошибкам:
Error in scale_labels.continuous(scale, breaks) :
Breaks and labels are different lengths
Является ли эта текстовая метка возможной в ggplot2 для этого типа шкалы/заливки?
# The example code here produces an plot for illustrative purposes only.
# create data frame, from ggplot2 documentation
df <- expand.grid(x = 0:5, y = 0:5)
df$z <- runif(nrow(df))
#plot
ggplot(df, aes(x, y, fill = z)) + geom_raster() +
scale_fill_gradientn(colours=topo.colors(7),na.value = "transparent")
Ответы
Ответ 1
Для scale_fill_gradientn()
вы должны указать оба аргумента: breaks=
и labels=
с одинаковой длиной. С аргументом limits=
вы расширяете цветную панель до минимального и максимального значения, которое вам нужно.
ggplot(df, aes(x, y, fill = z)) + geom_raster() +
scale_fill_gradientn(colours=topo.colors(7),na.value = "transparent",
breaks=c(0,0.5,1),labels=c("Minimum",0.5,"Maximum"),
limits=c(0,1))
![enter image description here]()