matlab - 在 Matlab 中绘制一个单元格
问题描述
我有一个单元格fit1
,它是维度的50x1
。
单元格的每个条目都是一个矩阵52x50
。
当我绘制它时:
for ii=1:k
hold On
plot(fit1{ii},'b')
xlim([-1100,5000])
ylim([-5,20])
legend('hide')
end
我得到:
现在我想做两件事:
首先,我想标记情节的某些区域:例如在中间
x=-1000
和x=0
背景颜色应该是黄色,中间x=0
和x=100
它应该是红色等。我想画一些垂直线 - 例如在
x=189
.是否可以用某些颜色而不是背景来标记 x 轴?
当我使用我得到的建议时:
解决方案
使用该patch()
功能可能足以改变背景的外观。该patch()
函数采用两个数组来描述要绘制/填充的多边形的坐标对。要绘制垂直线,line()
可以使用该功能。该line()
函数还采用两个数组来表示坐标对,这些坐标对描述了线的开始和结束。这是一个关于您的第三点的问题/答案:如何在 MATLAB 中为绘图中的刻度标签分配多种颜色?.
clf;
xlim([-1100,5000]);
ylim([-5,20]);
hold on
%Yellow background%
X_Minimum = -1100; X_Maximum = 0;
patch([X_Minimum X_Maximum X_Maximum X_Minimum], [min(ylim) min(ylim) max(ylim) max(ylim)],'y','EdgeColor','none')
%Red background%
X_Minimum = 0; X_Maximum = 100;
patch([X_Minimum X_Maximum X_Maximum X_Minimum], [min(ylim) min(ylim) max(ylim) max(ylim)],'r','EdgeColor','none')
%Vertical line%
X_Value = 189;
line([X_Value X_Value],[min(ylim) max(ylim)],'color','k');
推荐阅读
- java - 重新排列 JSON 数组中的值
- mysql - Mysql错误:列数与行不匹配
- java - 在spring中将JSON数组字段恢复为字节数组
- python - Dask Dataframe在洗牌数据时如何解决过度使用硬盘(>>100GB)的问题
- c# - Vuforia 的默认可跟踪事件处理程序脚本未检测到脚本组件
- android - 重新安装 apk 的行为是什么?
- trac - 如何使用 trac AuthzPolicy 限制对存储库浏览器的访问?
- java - Azure eventthub Kafka org.apache.kafka.common.errors.TimeoutException 的一些记录
- gcc - 如何修复 gcc 包含路径搜索顺序问题(输入/输出错误)?
- mysql - 在mysql中转义印地语字符