我用R生成了种群间按距离划分的隔离图。在这种图中,x轴表示地理距离,y轴表示一对种群之间的遗传距离(即每个点对应于由一定地理距离和一定遗传距离分开的一对种群)。为了产生该图,我使用两个矩阵,一个给出了每对种群的地理距离,另一个给出了每对种群的遗传距离,因此我的矩阵在列和行中都有种群的名称。
我生成一个简单的图:plot(Dgeo[lower.tri(Dgeo)], Dgen[lower.tri(Dgen)], xlab = "d_geo", ylab = "d_gen", pch=20, cex=.5, col="cadetblue4", ylim =c(0, 1))
我的每个种群都是三个种群中某个地理分布区域的一部分,我的目标是根据一个条件来给这些点着色:如果被比较的两个种群来自相同的地理分布区,则对应于该对的点具有某种颜色;如果其中一个群体来自地理区域A,另一个群体来自地理区域B,则该点具有另一种颜色;等等。你知道如何用R编写这个代码吗?我很感激你们花时间一起思考这个问题。
再见
我曾尝试创建一个像另外两个矩阵一样的矩阵,其中每个条件包含不同的字母,并且我使用了参数col = my_colour_matrix,但没有成功
1条答案
按热度按时间a14dhokn1#
生成一个颜色矩阵
cols
,其中包含与数据矩阵维度相同的分布区域交互作用,然后使用这些矩阵进行绘图。玩具数据