繁体   English   中英

在matlab中绘制颜色编码图

[英]plotting color codded graph in matlab

我需要使用.dat文件绘制彩色的二维图形。 文件中的数据排列为

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

这里的第三栏也在变化。 几乎有3000条线。 我需要在第一个和第二个变量之间绘制一个彩色的二维图,并且颜色必须作为第三个变量的高度放置。 有人能帮我吗 ?

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

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,标记类型为点('。'),由散点函数的第3和第5参数指定。

灰色外,您还可以使用许多其他颜色图。 例如, 在美学上可能更令人愉悦。 colormap函数的文档提供了有关其他选项的更多信息。

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

由于第3列的值相同,因此绘图将如下所示: 在此处输入图片说明

但是,在第三列中添加一些噪点,您将得到以下内容:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM