0

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

面积梯度弧中的剥夺

我需要在 R 中创建类似的图表,它只允许我更改剥夺十分位数并且图表会显示出来。我试图玩,colorRampPaletteplot找不到办法做到这一点。我真的不介意图表是弧形还是平面。

PS:我试图找到一种更好的方式来直观地表示这类数据,但实际上找不到任何东西。如果您认为有什么更适合的,请随时向我指出。

谢谢

4

1 回答 1

0

我不确定这是否是您正在寻找的内容,当然您可以根据自己的目的进行修改,但这里有一小段代码可以帮助您入门。它构建了一个从 0 到 100 的水平仪表,您所要做的就是选择值val(此处为 60)和文本sText(此处为 Harbourough 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)

当然,您可以随意操作它,添加刻度线、值、标题或其他任何您需要的东西。

结果图是:

计分器

我希望这有帮助。

于 2017-07-04T17:06:35.877 回答