R格子条形图:指定图例的颜色?

R格子条形图:指定图例的颜色?,r,lattice,R,Lattice,我的数据如下所示: service,rating_1,rating_2,rating_3,rating_4,rating_5 renew_patent,0,0,1,2,11 apply_benefit,21,20,121,828,1744 apply_employment_tribunal,0,0,0,0,0 我希望R为每一行打印一个直方图,列作为直方图的条形图 到目前为止,我已经做到了: require(lattice) data <- read.csv("test.csv", hea

我的数据如下所示:

service,rating_1,rating_2,rating_3,rating_4,rating_5
renew_patent,0,0,1,2,11
apply_benefit,21,20,121,828,1744
apply_employment_tribunal,0,0,0,0,0
我希望R为每一行打印一个直方图,列作为直方图的条形图

到目前为止,我已经做到了:

require(lattice)
data <- read.csv("test.csv", header = TRUE)
colors = c('red', 'orange', 'yellow', 'blue', 'green')
barchart(rating_1+rating_2+rating_3+rating_4+rating_5 ~ service, data=data, 
  auto.key=list(space='right'), scales=list(x=list(rot=45)), 
  ylab="Percentage of total", col=colors)
require(晶格)

数据与其将
col=
参数传递给
条形图
,不如更改
参数设置
。在这种情况下。条形图的颜色由supplose.polygon决定,因为您有不同的分级组。这应该是你想要的

data<-data.frame(
    service = c("renew_patent", "apply_benefit", "apply_employment_tribunal"),
    rating_1 = c(0, 21, 0), 
    rating_2 = c(0, 20, 0),
    rating_3 = c(1, 121, 0), 
    rating_4 = c(2, 828, 0),
    rating_5 = c(11, 1744, 0)
)

colors = c('red', 'orange', 'yellow', 'blue', 'green')
barchart(rating_1+rating_2+rating_3+rating_4+rating_5 ~ service, data=data, 
  auto.key=list(space='right'), scales=list(x=list(rot=45)), 
  ylab="Percentage of total", par.settings=list(superpose.polygon=list(col=colors)))
数据