如何为图的主要部分赋予不同的颜色

时间:2014-01-03 15:46:01

标签: r colors main

我只是代表平均总成本,平均可变成本,平均固定成本和边际成本的曲线。

plot(Q,ATCosts,ylab=NA,ylim=c(0,62),type="l")
par(new=T)
plot(Q,AVCosts,ylab=NA,ylim=c(0,62),type="l",col="blue")
par(new=T)
plot(Q,AFCosts,ylab=NA,ylim=c(0,62),type="l",col="red")
par(new=T)
plot(Q,MCosts,ylab=NA,ylim=c(0,62),type="l",col="green")

主要是:

title(main="ATC,AVC,AFC,MC")

我想知道的是,如果有一种方法可以为主要的每一部分(包含某种类型的成本)提供与该成本相关的颜色,以避免使用图例。因此,ATC必须用黑色写成; AVC必须用蓝色写......等等。

我试图通过以下方式重叠另一个标题:

title(main="   ,AVC,   ,  ",col.main="blue")

但它没有给出一个不错的结果。

2 个答案:

答案 0 :(得分:1)

不是一般解决方案,因为您必须使用adj来获得正确的间距,但它有效:

plot(1)
mtext("ATC, ",col='black',line=2,adj=0.4)
mtext("AVC, ",col='blue',line=2,adj=0.45)
mtext("AFC, ",col='red',line=2,adj=0.5)
mtext("MC",col='green',line=2,adj=0.54)

enter image description here

答案 1 :(得分:1)

如果您不想使用图例,可以使用directLables包。但你应该使用移动到一些高级绘图包(lattice / ggplot2)

enter image description here

set.seed(10)
dat = data.frame(Q= factor(paste0('Q',1:12)),
AT = runif(12,1,100),
                 AV = runif(12,1,100),
                 AF = runif(12,1,100),
                 MC = runif(12,1,100))


library(lattice)
library(directlabels)

p <- xyplot(AT+AV+AF+MC~Q,data=dat,type='l')

direct.label(p,"first.qp")