首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于在MATLAB图形中标识0和1的透明背景

用于在MATLAB图形中标识0和1的透明背景
EN

Stack Overflow用户
提问于 2017-10-02 22:41:50
回答 1查看 133关注 0票数 0

我的代码中有阳光和日食检测功能。我想在我生成的每个图中突出显示日光和日食探测。

假设

代码语言:javascript
复制
sun_avail = 0; % means spacecraft is in eclipse
sun_avail = 1; % means spacecraft is in sunlit

我已经设置了一组变量(向量(X,Y,Z))需要在matlab图形中绘制,我会这样做

代码语言:javascript
复制
fig = figure();
set(fig, 'name', 'Quaternions', 'NumberTitle', 'off');
subplot(4,1,1);
plot(t,Qp(:,1),'b','linewidth',2);
title('Quaternions wrt ref frame selected','fontweight','b')
hold on;plot(t,q_dp(:,1),'-.m','linewidth',2);
grid;zoom;
legend('Gyro Q Attitude (Actual Gyro)','Body Q Attitude (Ideal Gyro)');
xlabel('time in secs','fontweight','b')
ylabel('q1','fontweight','b')

subplot(4,1,2);
plot(t,Qp(:,2),'b','linewidth',2);
hold on;plot(t,q_dp(:,2),'-.m','linewidth',2);
grid;zoom;
xlabel('time in secs','fontweight','b'); 
ylabel('q2','fontweight','b')

subplot(4,1,3);
plot(t,Qp(:,3),'b','linewidth',2);
hold on;plot(t,q_dp(:,3),'-.m','linewidth',2);
grid;zoom;
xlabel('time in secs','fontweight','b');
ylabel('q3','fontweight','b')

subplot(4,1,4);
plot(t,Qp(:,4),'b','linewidth',2);
hold on;plot(t,q_dp(:,4),'-.m','linewidth',2);
grid;zoom;
xlabel('time in secs','fontweight','b');
ylabel('q4','fontweight','b')

Figure looks like this

有没有办法在背景中突出显示一些透明的颜色,以识别上面matlab图中的日光和日食部分。

EN

回答 1

Stack Overflow用户

发布于 2017-10-02 23:41:01

您可以使用patch来实现此目的。根据您的数据调整循环。

代码语言:javascript
复制
plot(randperm(100));   hold on;    plot(randperm(100));  %plotting some random data      
%if sunlight remains for 20 units and 40 is the interval from which it repeats and
%100-20=80 is the last occurence then
for k=0:40:80  
    patch([k 20+k 20+k k], [0 0 100 100],'y','EdgeColor','none','FaceAlpha',0.3);
end  

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46527808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档