【问题标题】:plot having different color for different year - R不同年份具有不同颜色的图 - R
【发布时间】:2020-02-15 10:24:44
【问题描述】:

如何使用以下矩阵为每一年设置相同的颜色(例如,我为 1011 设置的三行,我希望全部为红色)。我努力了 plot(All[,1:2],col=1:4) 为图中的每个点提供不同的颜色。知道如何解决吗?

欣赏!

structure(c(1564.7, 1310.72727272727, 1063.46153846154, 1164.77777777778, 
1284.52941176471, 868.214285714286, 2610.83333333333, 929.47619047619, 
1121.2, 3130.6, 2110.77272727273, 3600.54545454545, 2096.96296296296, 
1688.91666666667, 1371.03846153846, 12610.4, 14047.6363636364, 
11548.2857142857, 14474.3333333333, 16720.9411764706, 15759.5714285714, 
18197.4166666667, 9571.80952380952, 6553, 11778.4, 11159.2727272727, 
12094.2727272727, 11003, 8450.25, 9756.46153846154, 15.6, 17.5454545454545, 
13.7142857142857, 15.1111111111111, 17.4705882352941, 16.3571428571429, 
19.4166666666667, 13.0952380952381, 10.4, 17.8, 16.6363636363636, 
18, 15.8888888888889, 11.25, 13.1538461538462, 1011, 1011, 1011, 
1112, 1112, 1112, 1112, 1213, 1213, 1213, 1213, 1314, 1314, 1314, 
1314), .Dim = c(15L, 4L), .Dimnames = list(NULL, c("NumAct", 
"TR", "Gr", "Year")))

【问题讨论】:

    标签: r matrix plot


    【解决方案1】:

    可以使用All[,4] 访问Year 值,并将其作为col 参数传递会根据该列的值为您提供颜色。

    plot(All[,1:2],col=All[,4]) 
    

    输出

    更新

    要添加图例,您可以执行以下操作(如果需要,我可以解释):

    legend("topleft", legend=names(table(ALL[,4])), pch=1, col=unique(names(table(ALL[,4]))))
    

    输出 - 2

    【讨论】:

    • 感谢@deepseefan。如何在绘图中添加一个图例,显示年份对应的颜色?比如读取1011等
    【解决方案2】:

    要添加图例,您可以使用以下代码,虽然它是手动的,但工作正常

    绘图

    plot(All[,1:2],col=c("coral4","springgreen4","magenta","black"),pch=19) 
    

    添加图例

    legend(locator(1),legend=c("1011","1112","1213","1314"),col=c("coral4","springgreen4","magenta","black"),pch=19,bty="n",cex=c(0.8,0.8,0.8,0.8))
    

    【讨论】:

    • 数据集中的年份因子可能会多于c("1011","1112","1213","1314")
    • 无论您提供什么数据,都只包含 4 年。如果年份更长,您可以在c( ) 中为collegend 添加它
    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 2018-03-05
    • 2022-12-04
    • 2015-01-09
    • 1970-01-01
    • 2011-06-08
    • 2019-11-03
    • 2023-04-09
    相关资源
    最近更新 更多