Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot中的颜色(geom_段)_R_Ggplot2 - Fatal编程技术网

R ggplot中的颜色(geom_段)

R ggplot中的颜色(geom_段),r,ggplot2,R,Ggplot2,当使用面网格时,如何根据数据中的一个因素对几何图形线段进行着色?我的方法失败了,因为颜色的分配是错误的 以下是一些数据: visual_data=data.frame(Values = 10:1, Words = c("yeah","what","is","up","and","how", "are", "things","for", "you"), group = c("a","b","a","b","a","b","a","b","a","b"), importance=c("#EF2A2A

当使用面网格时,如何根据数据中的一个因素对几何图形线段进行着色?我的方法失败了,因为颜色的分配是错误的

以下是一些数据:

visual_data=data.frame(Values = 10:1, Words = c("yeah","what","is","up","and","how", "are", "things","for", "you"), group = c("a","b","a","b","a","b","a","b","a","b"), importance=c("#EF2A2A","#EF2A2A", "#E4FA11", "#E4FA11", "#E4FA11", "#E4FA11","#EF2A2A","#EF2A2A","#EF2A2A", "#E4FA11"))
此代码创建一个绘图:

graphic=ggplot(visual_data, aes(xend=Values, x=0, y=reorder(Words, Values), yend=reorder(Words, Values))) +
  geom_text(aes(x=Values, label=Values, hjust=-0.3), color="#389912",family="sans") +
  geom_segment(size=4,colour=visual_data$importance) +
  theme(axis.text=element_text(size=10,family="sans"),axis.title=element_text(size=13,face="bold",family="sans"),strip.text.y = element_text(size=12,family="sans"), plot.title=element_text(size=14,face="bold",family="sans")) +      
  facet_grid(group~., scales = "free")+
  theme_bw()
graphic
可以看到的是,例如,“yeah”和“What”并不共享相同的条颜色,尽管根据我的数据规范,它们应该共享相同的条颜色


有人对此有解决方案吗?

您需要在
aes()中添加颜色,并添加
scale\u color\u identity()

ggplot(visual_data,
       aes(x=0, xend=Values, y=reorder(Words, Values), yend=reorder(Words, Values))) +
  geom_text(aes(x=Values, label=Values, hjust=-0.3), color="#389912",family="sans") +
  geom_segment(size=4, aes(colour=importance)) +
  scale_colour_identity() +
  theme(axis.text=element_text(size=10,family="sans"),
        axis.title=element_text(size=13,face="bold",family="sans"),
        strip.text.y = element_text(size=12,family="sans"), 
        plot.title=element_text(size=14,face="bold",family="sans")) +      
  facet_grid(group~., scales = "free")+
  theme_bw()