nn <- ncol(daily.pnl)
legend("top", colnames(daily.pnl),col=seq_len(nn),cex=0.8,fill=seq_len(nn))
以cars数据集为例,这里是添加图例的完整代码。最好使用layout以一种漂亮的方式添加图例。
daily.pnl <- cars
nn <- ncol(daily.pnl)
layout(matrix(c(1,2),nrow=1), width=c(4,1))
par(mar=c(5,4,4,0)) #No margin on the right side
matplot(cumsum(as.data.frame(daily.pnl)),type="l")
par(mar=c(5,0,4,2)) #No margin on the left side
plot(c(0,1),type="n", axes=F, xlab="", ylab="")
legend("center", colnames(daily.pnl),col=seq_len(nn),cex=0.8,fill=seq_len(nn))
6条答案
按热度按时间0g0grzrc1#
matplot的默认颜色参数是data.frame的列号序列,因此可以添加如下图例:
以
cars
数据集为例,这里是添加图例的完整代码。最好使用layout
以一种漂亮的方式添加图例。bmvo0sr52#
我已经尝试使用虹膜数据集重现您正在寻找的内容。我用以下表达式得到了图:
然后,要添加图例,可以指定默认线颜色和类型,即数字1:4,如下所示:
现在图例和绘图中的坐标都相同了。请注意,您可能需要相应地更改图例的坐标。
ac1kyiln3#
我喜欢“agstudy”有一个好的传奇的把戏。
为了便于比较,我以@agstudy为例,用
ggplot2
绘制了它:matplot
的解决方案相比,第二步看起来相当简单a0zr77ik4#
有趣的是,@agstudy解决方案确实有效,但仅适用于n ≤ 6
这里我们有一个8列的矩阵。前6个标签的颜色是正确的。第7个和第8个是错误的。图中的颜色从头开始(黑色、红色...),而标签中的颜色是连续的(黄色、灰色...)
我还没有弄明白为什么会这样,我可能会用我的发现来更新这篇文章。
bq3bfh9z5#
刚刚发现
matplot
使用线型1:5和颜色1:6来建立线的外观。如果要创建图例,请尝试以下方法:yhqotfr86#
吉姆的answer非常棒,但我们可以通过回收利用来降低成本。
这样,我们可以得到5*6 = 30条很好区分的专业外观线。