📜  R中ggplot2图例中的控制线颜色和类型

📅  最后修改于: 2022-05-13 01:54:49.275000             🧑  作者: Mango

R中ggplot2图例中的控制线颜色和类型

在本文中,我们将看到如何在 R 编程语言中控制线条颜色和 ggplot2 图例中的类型。

使用默认参数

在此方法中,内置属性通过适当的值传递给函数以生成需求。因此,为了改变颜色,col 或 color 属性必须与来自数据帧的列名一起传递,这必须在区分的基础上进行。

同样,要控制线型,线型属性需要与数据框的列名一起传递。

示例:使用默认参数控制线条颜色和类型

R
library("ggplot2")
  
function1 <- function(x){x**2}
function2 <- function(x){x**3}
function3 <- function(x){x/2}
function4 <- function(x){2*(x**3)+(x**2)-(x/2)}
  
df = data.frame(x = -2:2,
              values = c(function1(-2:2),
                       function2(-2:2),
                       function3(-2:2),
                       function4(-2:2)),
              fun = rep(c("function1","function2",
                        "function3","function4"))
)
  
ggplot(df, aes(x, values, color = fun, 
               linetype = fun)) + geom_line()


R
library("ggplot2")
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
  
df=data.frame(x=-2:2,
              values=c(function1(-2:2),
                       function2(-2:2),
                       function3(-2:2),
                       function4(-2:2)),
              fun=rep(c("function1","function2","function3","function4"))
)
  
ggplot(df,aes(x,values, group=fun, color=fun, linetype=fun))+geom_line(size=1)+
  scale_linetype_manual(values = c("solid","dotted","dashed","twodash"))+
  scale_color_manual(values=c("red","green","blue","black"))


输出:

手动更改

在此方法下,线图的颜色使用 scale_color_manual()函数,该函数为每条线传递了一个颜色向量。

同样,可以使用 scale_linetype_manual()函数控制线型,这也将向量作为输入,但每条线传递的值是不同的线型。

示例:手动控制线条颜色和类型

电阻

library("ggplot2")
function1<- function(x){x**2}
function2<-function(x){x**3}
function3<-function(x){x/2}
function4<-function(x){2*(x**3)+(x**2)-(x/2)}
  
df=data.frame(x=-2:2,
              values=c(function1(-2:2),
                       function2(-2:2),
                       function3(-2:2),
                       function4(-2:2)),
              fun=rep(c("function1","function2","function3","function4"))
)
  
ggplot(df,aes(x,values, group=fun, color=fun, linetype=fun))+geom_line(size=1)+
  scale_linetype_manual(values = c("solid","dotted","dashed","twodash"))+
  scale_color_manual(values=c("red","green","blue","black"))

输出: