R: Создание счетчика метров / градиентной дуги

Я пытаюсь воссоздать график, который был сделан в Excel. Это в основном счетный метр или градиентная дуга, которая показывает депривацию дециля в определенной области. Следовательно, это градиентометр от 10 до 1 (от красного до зеленого) с определенным значением, которое указывает дециль депривации. Что-то вроде этого изображения.

Лишение в области градиента дуги

Мне нужно создать аналогичный граф в R, который позволил бы мне изменить дециль депривации, и граф появился бы. Я пытался играть с colorRampPalette а также plot но не смог найти способ сделать это. Я не против того, является ли график дугой или плоским.

PS: я пытался найти лучший способ визуального представления такого рода данных, но не смог найти их. Если вы думаете о чем-то, что лучше подходит, не стесняйтесь указывать мне это.

Спасибо

1 ответ

Я не совсем уверен, если это то, что вы ищете, и, конечно, вы можете изменить в соответствии с вашими целями, но вот небольшой кусочек кода, чтобы вы начали. Он строит горизонтальный метр, который идет от 0 до 100, и все, что вам нужно сделать, это выбрать значение val (здесь 60) и текст sText (здесь Харборо 003E).

library(ggplot2)
val <- 60 ; sText <- "Harborough 003E"

df <- data.frame(y = seq(0, 100, by = 1), x = 1)
df.labs <- data.frame(y = c(0, 100, val),
                      lab = c("Most Deprived",
                              "Least Deprived",
                              sText))

ggplot(df, aes(x = x, y = y, fill = y)) + 
  geom_tile() +
  geom_hline(yintercept = val, colour = "blue", size = 1) + 
  geom_text(data = df.labs, aes(x = 1, y = y, label = lab), hjust = c(0, 1, 0.5)) + 
  scale_fill_gradient(low = "red", high = "green", guide = FALSE) + 
  coord_flip() + 
  theme_void() + 
  theme(aspect.ratio = 0.1)

Конечно, вы можете манипулировать им так, как считаете нужным, добавляя отметки, значения, заголовки или все, что вам нужно.

В результате получается сюжет:

Счетчик баллов

Надеюсь, это поможет.

Другие вопросы по тегам