Matlab中使用指定语法为两条曲线设置不同线型与颜色的方法
解决Matlab双曲线型与颜色自定义问题
方法1:分开调用plot函数(最直观)
直接对每条信号单独调用plot,在每个信号后指定颜色和线型参数:
E = 10; % amplitude sample_1_hz = 1000; sample_2_hz = 11000; fs = 10000; % sample rate in Hz Samples = 100; time_scale = (0:Samples-1)'/fs; sig_1 = E*sin(2*pi*time_scale*sample_1_hz); sig_2 = E*sin(2*pi*time_scale*sample_2_hz); % 分别指定两条曲线的样式:红色虚线、蓝色实线 plot(time_scale, sig_1, 'r--', time_scale, sig_2, 'b-'); grid('on'); xlabel('Time'); ylabel('Amplitude'); legend('1000 Hz', '11000 Hz');
参数说明:
'r--':r代表红色,--代表虚线'b-':b代表蓝色,-代表实线
你可以替换成其他组合,比如'g:'(绿色点线)、'k-.'(黑色点划线)等。
方法2:通过曲线对象批量设置(保留原矩阵输入方式)
如果想保留plot(time_scale,[sig_1 sig_2])的写法,可以先获取曲线句柄,再逐个修改属性:
E = 10; % amplitude sample_1_hz = 1000; sample_2_hz = 11000; fs = 10000; % sample rate in Hz Samples = 100; time_scale = (0:Samples-1)'/fs; sig_1 = E*sin(2*pi*time_scale*sample_1_hz); sig_2 = E*sin(2*pi*time_scale*sample_2_hz); % 获取两条曲线的句柄 h = plot(time_scale,[sig_1 sig_2]); % 设置第一条曲线为红色虚线 h(1).Color = 'red'; h(1).LineStyle = '--'; % 设置第二条曲线为蓝色实线 h(2).Color = 'blue'; h(2).LineStyle = '-'; grid('on'); xlabel('Time'); ylabel('Amplitude'); legend('1000 Hz', '11000 Hz');
这种方式适合需要动态修改样式的场景,也可以用set函数替代点属性访问:set(h(1), 'Color', 'red', 'LineStyle', '--');
内容的提问来源于stack exchange,提问作者Tam
相关产品推荐
相关产品推荐

