2017-07-04 111 views
0

我想重新创建一个在Excel中创建的图形。它基本上是一个分数米或梯度弧,表示某个地区的剥夺分数。因此,它是一个从10到1(红色到绿色)的梯度计,具有一定值,表示剥夺十分位数。像这样的图像。R:制作分数计/渐变圆弧

Deprivation in area gradient arc

我需要建立在R上的相似图形这将只是让我改变了剥夺等分和图形将显示出来。我试图玩colorRampPaletteplot,但找不到办法做到这一点。我并不介意图表是圆弧还是平面图形。 PS:我试图找到一种更好的方式来直观地表示这种数据,但是找不到任何东西。如果您想到更适合的任何东西,请随时向我指出。

感谢

+0

我想这只是一个数字。画一条长水平线和一条小垂直线。 – Axeman

回答

0

我不exatcly知道这是你在找什么,当然你可以修改,以满足您的目的,但这里有一小段代码,让你开始。它建立一个从0到100的水平仪表,你所要做的就是选择值val(这里是60)和文本sText(这里是Harborough 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) 

当然,你可以操纵它asyou认为合适的,添加刻度标记,值,标题或其他任何你需要的。

产生的情节是:

A Score Meter

我希望这有助于。