Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在r中绘制矩阵的彩色图_R - Fatal编程技术网

如何在r中绘制矩阵的彩色图

如何在r中绘制矩阵的彩色图,r,R,我有一个有132行3列的矩阵。它们的名称是e_值、r_值和fp0。现在我如何绘制矩阵的颜色图?该图必须在y轴上有e_值,在x轴上有r_值,以及fp0的各种值作为颜色。e_值在0.1的间隔内从0到0.5变化,r_值在0到6.5之间变化,从0.5到4,然后从4到6.5,从0.2到0.5,我的fp0值基本上是我的概率,因此它们从0到1不等。我不知道如何上传我的csv文件,所以我给出了我的矩阵的描述,并且正在打印我的矩阵。我对R也很陌生,对ggplot2和类似的其他工作,所以这将是非常有帮助的,如果我得

我有一个有132行3列的矩阵。它们的名称是e_值、r_值和fp0。现在我如何绘制矩阵的颜色图?该图必须在y轴上有e_值,在x轴上有r_值,以及fp0的各种值作为颜色。e_值在0.1的间隔内从0到0.5变化,r_值在0到6.5之间变化,从0.5到4,然后从4到6.5,从0.2到0.5,我的fp0值基本上是我的概率,因此它们从0到1不等。我不知道如何上传我的csv文件,所以我给出了我的矩阵的描述,并且正在打印我的矩阵。我对R也很陌生,对ggplot2和类似的其他工作,所以这将是非常有帮助的,如果我得到一个详细的解释

      e_values   r_values   fp0
    1   0          0         1.0000
    2   0.1        0         1.0000
    3   0.2        0         1.0000
    4   0.3        0         1.0000
    5   0.4        0         1.0000
    6   0.5        0         1.0000   
    7   0          0.5       1.0000  
    8   0.1        0.5       1.0000 
    9   0.2        0.5       1.0000
   10   0.3        0.5       1.0000
   11   0.4        0.5       1.0000
   12   0.5        0.5       1.0000
   13   0          1         1.0000
我的矩阵以上述方式继续,直到r=4,之后r值增加0.2,fp0值也开始显示变化。
然后按照这个模式,直到行数变为132。

您只需要在ggplot中使用fp0作为颜色

下面的代码将创建您描述的绘图。在这里,颜色越深表示概率越高。如果你有一个离散的概率,你也可以为每个级别使用不同的颜色(第二个图)

require(ggplot2)
e_值=seq(0,0.5,by=0.1)
r_值=c(顺序(0,4,by=0.5),顺序(4.2,6.5,by=0.2))

df非常感谢,Niko,我试着按照你说的进行绘图,但我似乎没有得到我想要的。绘图与我的矩阵值不匹配。我的矩阵名为M1,我编辑了我的帖子,因为我认为我无法有效地传达我的查询。请考虑一下我的修改后的帖子,然后建议我做点什么。再次感谢。不知道如何自动选择DATA框架对象的比例。默认为连续。错误:美学必须是长度1或与数据(132)相同:x,y,颜色这是我得到的。我错过了什么。如果有一个显示所需输出的绘图(可能是模型或示例),将非常有用。此外,点图可能不是可视化数据的最佳方式。但是,只有您可以决定使用哪种方法,因为我们不知道变量的含义。我在第一行添加了可以通过链接访问的照片。因此,基本上,我有两个迭代映射,我运行了几次迭代。这两个映射遵循相同的动力学方程,我的e_值是映射之间的耦合因子,r_值是我的非线性参数。我计算fp0,因为任意一个映射在很长一段时间内收敛到0固定点的次数,对于给定的e和r以及各种初始条件。希望,这会有所帮助。我根据你的照片更改了绘图。你能解决这个错误吗?如果是的话,如果你能把数据框的前几行添加到你的问题中就好了。
require(ggplot2)

e_values = seq(0, 0.5, by = 0.1)
r_values = c(seq(0, 4, by = 0.5), seq(4.2, 6.5, by = 0.2))

df <- data.frame(e_values = sample(e_values, 132, replace = T),
                 r_values = sample(r_values, 132, replace = T),
                 fp0 = runif(132))

g <- ggplot(df, aes(x = r_values, y = e_values, color = fp0))
g <- g + geom_point()
g

df <- data.frame(e_values = sample(e_values, 132, replace = T),
                 r_values = sample(r_values, 132, replace = T),
                 fp0 = sample(seq(0, 1, by = 0.2), 132, replace = T))

g <- ggplot(df, aes(x = r_values, y = e_values, color = as.factor(fp0)))
g <- g + geom_point()
g
g <- ggplot(df, aes(x = e_values, y = r_values, color = fp0))
g <- g + geom_point(shape = 15, aes(fill = fp0))
g