0

我需要使用 .dat 文件绘制彩色编码的 2d 图。文件中的数据排列为

48.000000 0.000184 0.400000
48.500000 0.000185 0.400000
49.000000 0.000186 0.400000
49.500000 0.000187 0.400000
50.000000 0.000187 0.400000
50.500000 0.000186 0.400000
51.000000 0.000186 0.400000
51.500000 0.000186 0.400000
52.000000 0.000185 0.400000
52.500000 0.000184 0.400000
53.000000 0.000184 0.400000
53.500000 0.000182 0.400000
54.000000 0.000180 0.400000
54.500000 0.000179 0.400000
55.000000 0.000177 0.400000
55.500000 0.000174 0.400000
56.000000 0.000172 0.400000

这里的第 3 列也在发生变化。有将近3000行。我需要在第一个和第二个变量之间绘制一个彩色编码的二维图,并且颜色必须作为第三个变量的高度。有人能帮我吗 ?

4

2 回答 2

3

如果您希望数据的颜色根据第 3 列中的值从深色变为浅色,那么您最好只使用scatter函数。根据文档

scatter(X,Y,S,C)在向量 X 和 Y 指定的位置显示彩色圆圈(大小必须相同)。

S确定每个标记的面积...

C确定每个标记的颜色。当 C 是与 X 和 Y 长度相同的向量时,C 中的值线性映射到当前颜色图中的颜色。

这意味着您可以明确选择您希望数据使用的颜色图。假设col1col2col3包含数据三列中的每一列中的值,以下代码将绘制散点图,其中 col1 和 col2 分别定义 x 和 y 位置, col3 定义每个点的颜色。

scatter(col1, col2, 25, col3, '.');
colormap(gray);

绘制散点图后,我明确地将颜色图设置为灰色,这样 col3 中值小的点会变暗,而值大的点会变亮。请注意,在此示例中,标记区域为 25,标记类型为点 ('.'),由scatter函数的第 3 和第 5 个参数指定。

除了gray之外,您还可以使用许多其他颜色图。例如,热的的可能更美观。colormap 函数的文档提供了有关其他选项的更多信息。

于 2012-08-15T02:21:59.343 回答
0

利用>> gscatter(column1,column2,column3)

由于您的第 3 列是相同的值,因此该图将如下所示: 在此处输入图像描述

但是,在第三列添加一些噪音,你会得到这样的结果:

在此处输入图像描述

于 2012-08-14T17:55:48.803 回答