R 如何更改ggplot中的标签(图例)?

R 如何更改ggplot中的标签(图例)?,r,math,plot,ggplot2,statistics,R,Math,Plot,Ggplot2,Statistics,我的代码如下,我想更改ggplot的标签,但R总是提醒我: Error in unit(tic_pos.c, "mm") : 'x' and 'units' must have length > 0 我该怎么办 ggplot(mat,aes(x=sales,col=type))+ geom_density()+labels("red_sold","blue_sold","yellow_sold") mat$类型是一个因素吗?否则,将导致错误。此外,您不能使用标签。。。这边走 由于您

我的代码如下,我想更改ggplot的标签,但R总是提醒我:

Error in unit(tic_pos.c, "mm") : 'x' and 'units' must have length > 0
我该怎么办

ggplot(mat,aes(x=sales,col=type))+
  geom_density()+labels("red_sold","blue_sold","yellow_sold")
mat$类型是一个因素吗?否则,将导致错误。此外,您不能使用标签。。。这边走

由于您没有提供任何数据,下面是一个使用内置mtcars数据集的示例

在这个例子中

ggplot(mtcars, aes(x=hp,color=cyl))+...
将导致与您得到的错误相同的错误,因为mtcars$cyl不是一个系数。

mat$type是一个系数吗?否则,将导致错误。此外,您不能使用标签。。。这边走

由于您没有提供任何数据,下面是一个使用内置mtcars数据集的示例

在这个例子中

ggplot(mtcars, aes(x=hp,color=cyl))+...

由于mtcars$cyl不是一个因素,因此会导致与您得到的错误相同。

作为@jlhoward答案的补充,scale\u color\u手册更倾向于自定义将显示的实际颜色的颜色比例

对于您的情况,您可能更愿意使用比例\颜色\离散:

这会更快,但取决于因素水平顺序,这可能导致不可生产性。您可能希望指定breaks参数以最大限度地降低出错风险,并自定义图例中的顺序:

ggplot(mtcars, aes(x=hp,color=factor(cyl)))+
    geom_density()+
    scale_color_discrete(name="Cylinders",
                         breaks=c(8,6,4),
                         labels=c("8 Cylinder","6 Cylinder","4 Cylinder"))

更多信息。

作为对@jlhoward答案的补充,scale\u color\u手册更倾向于自定义颜色比例和将显示的实际颜色

对于您的情况,您可能更愿意使用比例\颜色\离散:

这会更快,但取决于因素水平顺序,这可能导致不可生产性。您可能希望指定breaks参数以最大限度地降低出错风险,并自定义图例中的顺序:

ggplot(mtcars, aes(x=hp,color=factor(cyl)))+
    geom_density()+
    scale_color_discrete(name="Cylinders",
                         breaks=c(8,6,4),
                         labels=c("8 Cylinder","6 Cylinder","4 Cylinder"))

有关的详细信息。

值得注意的是,可以通过使用“比例”\u“颜色”\u“离散”来更改名称和标签,同时保留默认值。@DanChaltiel也许您可以将您的评论作为常规答案发布,以便更容易找到注释,可以通过使用“比例”\u“颜色”\u“离散”来更改名称和标签,并保留默认值。@DanChaltiel也许您可以将您的评论作为常规答案发布,这样更容易找到?