基于行号{G 44lot}的组GGPlot颜色

时间:2017-02-01 15:48:38

标签: r ggplot2 shiny

我有一个在5列上有16个观察的图。其中一列名为" Name"。在列名称中,我有car1-6,truck1-5和1-5列车,这构成了我的16个观测值。我有:

ggplot(dftest, aes(x = Names, y= AVGMostLikely, ymin= BestCaseHi, ymax=WorstCaseLow)) + 
    geom_bar(stat = "identity") + 
    geom_errorbar() + 
    ggtitle("Bar chart with Error Bars")

我希望条形的填充/颜色基于car1-6为一种颜色的名称,truck1-5为另一种颜色,train1-5为第三种颜色。这可能在ggplot中吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

以下是删除列Names中最后一个字符的代码(这是数字):

char_array = c("car1","car2","truck1","truck5")
data = data.frame("names"=char_array)
data$names = as.character(data$names)
data$groups = substr(data$names,1,nchar(data$names)-1)

您有一个名为groups的新列,您可以将其用作fill中的ggplot参数。