The plot between e_values and r_values, the values of probabilities of fp0 indicated by different colors of my color scale.我有一个132行和3列的矩阵。这些名称是e_values,r_values和fp0。现在我如何绘制矩阵的颜色图?该图必须有e_values x轴上的y轴和r_值以及fp0的各种值作为颜色.e_values在0.1的间隔中从0到0.5变化,r_values在0到6.5之间变化,间隔为0.5到4然后0.2从4到6.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。
答案 0 :(得分:1)
你只需要在你的ggplot中使用fp0作为颜色。
下面的代码将创建您描述的图表。在这里,较暗的颜色表示较高的概率。如果你有一个离散的概率,你也可以为每个级别使用不同的颜色(第二个图)。
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
编辑:您上传的图片的r_values为y轴,e_values为x轴。另外,点的形状是不同的。以下是生成所需图表的代码:
g <- ggplot(df, aes(x = e_values, y = r_values, color = fp0))
g <- g + geom_point(shape = 15, aes(fill = fp0))
g