geom_violin - “grid.Call.graphics中的错误(C_lines,x $ x,x $ y,index,x $ arrow):'color'或'lty'中的十六进制数字无效”

时间:2018-01-25 03:45:59

标签: r ggplot2 violin-plot

我试图找到解决问题的方法,但我不能。

我想用draw_quantiles c(0.25, .50, .75)绘制geom_violin,但它会返回此错误:

  

“grid.Call.graphics中的错误(C_lines,x $ x,x $ y,index,x $ arrow):   'color'或'lty'中无效的十六进制数字

触发错误的代码如下:

p4 <- p3 +  
  geom_violin(data = Data_Set[-c(1:5), ], 
              aes(x = Per_Set, y = Sales, group = Per_Set),
              fill = NA,  colour = "darkgrey", 
              draw_quantiles = c(0.25, 0.50, 0.75)) + 
  coord_cartesian(ylim = c(0, 
                           max(Var_Comp1, Var_Comp2, Var_Comp3)))

如果我在没有draw_quantiles = c(0.25, 0.50, 0.75))的情况下运行相同的代码,则可以正常运行:

p4 <- p3 + 
  geom_violin(data = Data_Set[-c(1:5), ], 
              aes(x = Per_Set, y = Sales, group = Per_Set),
              fill = NA,  colour = "darkgrey")  + 
              coord_cartesian(ylim = c(0, 
                                       max(Var_Comp1, Var_Comp2, Var_Comp3)))

如果我使用draw_quantiles = c(0.25, 0.50, 0.75))但没有+ coord_cartesian(ylim = c(0, max(Var_Comp1, Var_Comp2, Var_Comp3)))运行相同的代码,则无效:

p4 <- p3 +
  geom_violin(data = Data_Set[-c(1:5), ], 
              aes(x = Per_Set, y = Sales, group = Per_Set), 
              fill = NA, colour = "darkgrey", 
              draw_quantiles = c(0.25, 0.50, 0.75))

与之前相同的消息错误:

  

“grid.Call.graphics中的错误(C_lines,x $ x,x $ y,index,x $ arrow):   'color'或'lty'中无效的十六进制数字

有人能帮我一把吗?我不知道“颜色”或“lty”(线型)与此有什么关系。

PS。 p3有geom_linesgeom_points,Data_Set中没有NA。 y轴的格式为R中的日期。

1 个答案:

答案 0 :(得分:1)

我也看到了此错误消息...它是geom_violin无法为draw_quantiles = c(...)计算分位数时发生的错误。

要解决此问题,我要确保每个小提琴至少有8个数据点,足以计算出我正在寻找的c(.05, .25, .5, .75, .95, .99)的6个分位数,而不会抛出NAgrid.Call.graphics遇到的某种错误。