楼主: chuxuezhe222

[已解决] 怎样用不同的颜色画出同一条线?

[复制链接]

新手

17 麦片

财富积分


050


2

主题

114

帖子

1

最佳答案
  • 关注者: 1
发表于 2016-7-14 23:35:25 | 显示全部楼层
本帖最后由 guojiangtao 于 2016-7-14 23:40 编辑

楼主能不能给个例子数据啊?
plot.jpg

新手

14 麦片

财富积分


050


24

主题

74

帖子

0

最佳答案
 楼主| 发表于 2016-7-15 10:38:39 | 显示全部楼层
guojiangtao 发表于 2016-7-14 23:35
楼主能不能给个例子数据啊?

数据在这

15.txt

2.92 KB, 下载次数: 19

数据

新手

15 麦片

财富积分


050


1

主题

7

帖子

0

最佳答案
  • 关注者: 1
发表于 2016-7-15 10:51:59 | 显示全部楼层
按楼主说的,应该是画一个伪彩图,这里先给出一个例子
  1. close all;clear;clc;
  2. x=-4:0.1:4;
  3. y=-4:0.1:4;
  4. [X,Y]=meshgrid(x,y);
  5. Z=exp(-(X.^2+Y.^2));
  6. a=linspace(0,1)';
  7. colormap([a 1-a a-a])
  8. pcolor(X,Y,Z);
  9. colorbar;
复制代码
我这里是以一个函数为例,x,y确定的二维平面上的颜色红绿变化表示z的大小。看你给的图上应该是一个确定的时间和一个确定的位置对应一个速度,那么你把这三组数据代入一样可以得到结果
2345截图20160715105818.jpg

MATLAB 基础讨论
版块优秀回答者

中级

547 麦片

财富积分


5001500


71

主题

1428

帖子

103

最佳答案
  • 关注者: 68
发表于 2016-7-15 11:21:39 | 显示全部楼层
本帖最后由 meatball1982 于 2016-7-15 11:36 编辑

LZ的数据,第一部分是usr color,第二部分是x,第三部分是y.
三个思路,
1,每次画一小段(两个点边在一起),用自己的usr color来定义色线段的color。hold on 画出。注,把线变粗一点。
2。每次只画一个点,这个点就是你对应的usr color .注,把点画大一点。
3。用surface,把x,y重新定义一下,画在z平面上。这个最华丽了。(用的是sin(x))的例子。colormap是matlab自己的cool.
  1. x = 0:.05:2*pi;
  2. y = sin(x);
  3. z = zeros(size(x));
  4. col =y+rand(size(y))*0.02;  % This is the color, vary with x in this case.
  5. surface([x;x],[y;y],[z;z],[col;col],...
  6.         'facecol','no',...
  7.         'edgecol','interp',...
  8.         'linew',4);      
  9. colormap(cool)   
复制代码


注意,我用的是cool这个colormap,LZ可以通过
cool(10)
这个输出来看这个colormap的数据是什么样的。


diff_color_line_and_point.jpg
diff_color_line_surf.jpg

新手

14 麦片

财富积分


050


24

主题

74

帖子

0

最佳答案
 楼主| 发表于 2016-7-15 13:05:00 | 显示全部楼层
meatball1982 发表于 2016-7-15 11:21
LZ的数据,第一部分是usr color,第二部分是x,第三部分是y.
三个思路,
1,每次画一小段(两个点边在一起 ...

本人是个初学者,还请大神你把前面两幅图的代码给小弟看一下,感激不尽!!!

新手

14 麦片

财富积分


050


24

主题

74

帖子

0

最佳答案
 楼主| 发表于 2016-7-15 13:08:02 | 显示全部楼层
Willianyuan 发表于 2016-7-15 10:51
按楼主说的,应该是画一个伪彩图,这里先给出一个例子我这里是以一个函数为例,x,y确定的二维平面上的颜色 ...

非常感谢你的回答,但是我要的不是这个图,我想画的是那种线性的,而不是方格式的,就是楼下提供的那种

新手

14 麦片

财富积分


050


24

主题

74

帖子

0

最佳答案
 楼主| 发表于 2016-7-15 13:31:17 | 显示全部楼层
本帖最后由 chuxuezhe222 于 2016-7-15 13:42 编辑
meatball1982 发表于 2016-7-15 11:21
LZ的数据,第一部分是usr color,第二部分是x,第三部分是y.
三个思路,
1,每次画一小段(两个点边在一起 ...


我照着你的该了,可是运行出来图像和你的给的前两幅图不一样,希望你可以把前两幅图的代码发给小弟学习一下,谢谢了

CB7F.tmp.jpg

MATLAB 基础讨论
版块优秀回答者

中级

547 麦片

财富积分


5001500


71

主题

1428

帖子

103

最佳答案
  • 关注者: 68
发表于 2016-7-15 14:35:03 | 显示全部楼层
chuxuezhe222 发表于 2016-7-15 13:31
我照着你的该了,可是运行出来图像和你的给的前两幅图不一样,希望你可以把前两幅图的代码发给小弟学习一 ...

你好,你能说明一下你是如何修改的吗,
没有出现图,那出错信息是什么?

新手

14 麦片

财富积分


050


24

主题

74

帖子

0

最佳答案
 楼主| 发表于 2016-7-15 14:42:00 | 显示全部楼层
meatball1982 发表于 2016-7-15 14:35
你好,你能说明一下你是如何修改的吗,
没有出现图,那出错信息是什么?
...

x=1:529;
l=x;
y=xlsread('C:\Users\lenovo\Desktop\新溉转盘.xlsx','跟踪图像2','M2:M530');
m=y';
z=xlsread('C:\Users\lenovo\Desktop\新溉转盘.xlsx','跟踪图像2','H2:H530');
n=z';
col =m+rand(size(m))*0.02;  % This is the color, vary with x in this case.
surface([l;l],[m;m],[n;n],[col;col],...
        'facecol','no',...
        'edgecol','interp',...
        'linew',4);      
colormap(cool(10))

这是我画出来的

这是我画出来的

新手

14 麦片

财富积分


050


24

主题

74

帖子

0

最佳答案
 楼主| 发表于 2016-7-15 14:53:44 | 显示全部楼层
meatball1982 发表于 2016-7-15 14:35
你好,你能说明一下你是如何修改的吗,
没有出现图,那出错信息是什么?
...

劳烦你把这幅图的代码发我一份学习一下吧
EC13.tmp.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表