R:制作记分表/渐变弧

R:制作记分表/渐变弧,r,ggplot2,colors,gradient,meter,R,Ggplot2,Colors,Gradient,Meter,我正在尝试重新创建一个用excel制作的图表。它基本上是一个记分表或梯度弧,显示某一区域的十分之一。因此,它是一个从10到1(红色到绿色)的梯度计,具有一定的值,表示剥夺十分位。像这样的图像 我需要在R中创建一个类似的图,它只允许我改变剥夺十分位数,然后这个图就会显示出来。我试着玩colorrmppalete和plot,但找不到这样做的方法。我真的不介意这张图是圆弧图还是平面图 PS:我试图找到一种更好的方式直观地表示这类数据,但实际上找不到。如果你觉得有什么更合适的,请随时向我指出 谢谢我不

我正在尝试重新创建一个用excel制作的图表。它基本上是一个记分表或梯度弧,显示某一区域的十分之一。因此,它是一个从10到1(红色到绿色)的梯度计,具有一定的值,表示剥夺十分位。像这样的图像

我需要在R中创建一个类似的图,它只允许我改变剥夺十分位数,然后这个图就会显示出来。我试着玩
colorrmppalete
plot
,但找不到这样做的方法。我真的不介意这张图是圆弧图还是平面图

PS:我试图找到一种更好的方式直观地表示这类数据,但实际上找不到。如果你觉得有什么更合适的,请随时向我指出


谢谢

我不确定这是否是您想要的,当然您可以根据自己的目的进行修改,但这里有一些代码可以帮助您开始。它构建了一个从0到100的水平仪表,您只需选择值
val
(此处为60)和文本
sText
(此处为003E)

库(ggplot2)

瓦尔,我想这只是一条数字线。画一条长的水平线和一条小的垂直线。
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)