MATLAB plotyy()中的非均匀分组数据

纳文

我必须在一个绘图窗口中绘制1个线图和3个分组的散点图。

以下是我尝试过的代码,

figure;
t1=0:0.1:10;
X = 2*sin(t1);
ts = 0:1:10;
Y1 = randi([0 1],length(ts),1);
Y2 = randi([0 1],length(ts),1);
Y3 = randi([0 1],length(ts),1);
plotyy(t1,X,[ts',ts',ts'],[Y1,Y2,Y3],'plot','scatter');
%plotyy(t1,X,[ts',ts',ts'],[Y1,Y2,Y3],'plot','plot');

以下是我的问题,

  1. 如果我将“散点图”替换为“绘图”(见注释行),则以上代码有效,但是“散点图”仅适用于1个数据集而不适用于3个。

  2. 如何分别为3个分组的散点图或散点图分配颜色?

阅读收到的错误消息:

使用散点图(第44行)时出错X和Y必须是相同长度的向量。

如果您查看文档,scatter将会发现输入必须是向量,并且您正在尝试传递数组。

一种选择是堆叠向量:

plotyy(t1,X,[ts';ts';ts'],[Y1;Y2;Y3],'plot','scatter');

样本

但是我不知道这是否是您要寻找的东西,它肯定看起来不像注释行。您必须澄清最终绘图的外观。

至于第二个问题,老实说,我建议不要使用plotyy我可能有偏见,但根据我的口味我发现它已经很挑剔。我想使用的方法是堆叠多个轴并绘制到每个轴上。这使我可以完全控制所有图形对象和图形。

例如:

t1=0:0.1:10;
X = 2*sin(t1);
ts = 0:1:10;
Y1 = randi([0 1],length(ts),1);
Y2 = randi([0 1],length(ts),1);
Y3 = randi([0 1],length(ts),1);

% Create axes & store handles
h.myfig = figure;
h.ax1 = axes('Parent', h.myfig, 'Box', 'off');
h.ax2 = axes('Parent', h.myfig, 'Position', h.ax1.Position, 'Color', 'none', 'YAxisLocation', 'Right');

% Preserve axes formatting
hold(h.ax1, 'on');
hold(h.ax2, 'on');

% Plot data
h.plot(1) = plot(h.ax1, t1, X);
h.scatter(1) = scatter(h.ax2, ts', Y1);
h.scatter(2) = scatter(h.ax2, ts', Y2);
h.scatter(3) = scatter(h.ax2, ts', Y3);

给你:

样本2

现在,您可以完全控制所有轴和线属性。请注意,这假设您具有R2014b或更高版本,以便使用点表示法访问的Position属性h.ax1如果您运行的是旧版本,则可以get(h.ax1, 'Position')改用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过plotyy在MATLAB中绘制2个垂直轴时设置轴限制

来自分类Dev

Matlab plotyy和Semilogx

来自分类Dev

Matlab细胞阵列数据

来自分类Dev

在Matlab中设置一个plotyy函数与文本

来自分类Dev

在Matlab中量化数据

来自分类Dev

在Matlab中将矩阵中的元素分组

来自分类Dev

用零填充非连续数据-MATLAB

来自分类Dev

了解非均匀泊松过程Matlab代码

来自分类Dev

MATLAB数据解析优化

来自分类Dev

如何在plotyy(Matlab)中设置不同图例的背景颜色?

来自分类Dev

How to format Matlab figures made with plotyy?

来自分类Dev

Matlab数据落后

来自分类Dev

Matlab中数据的衰减率

来自分类Dev

如何在MATLAB中检查矩阵元素是否均匀?

来自分类Dev

在Matlab中处理错误数据

来自分类Dev

在matlab中的子图中分组散点图

来自分类Dev

在Matlab的网页中显示数据

来自分类Dev

在matlab中设置plotyy函数与文本

来自分类Dev

在Matlab中将矩阵中的元素分组

来自分类Dev

在MATLAB中强制均匀输出

来自分类Dev

Matlab导入数据集

来自分类Dev

Matlab中的数据缩放算法

来自分类Dev

MATLAB plotyy()中的非均匀分组数据

来自分类Dev

在MATLAB中设置数据

来自分类Dev

如何在Matlab中相互绘制多个plotyy

来自分类Dev

在Matlab中对条进行分组

来自分类Dev

Matlab中散布数据的导数

来自分类Dev

Matlab中变量分组的逻辑设计

来自分类Dev

使用循环对数据进行分组(MATLAB 中的信号处理)