非常基本的Matlab图

时间:2016-05-23 22:49:34

标签: matlab

所以,我想绘制一些这样的观点(抱歉我的可怜绘图):

enter image description here

所以,我只是在x中对应的数字有一些点,我想根据它们在Y轴上的值来绘制它们。

我还需要用直线连接每列的平均值(Y指数),比如说。

enter image description here

编辑:这意味着说X索引5的列平均为5.6,10有4.5等。我想要一条曲线来连接每列的平均值。蓝线表示每列的平均值。

我编写的代码失败并出现以下错误:

Error using scatter (line 62)
X and Y must be vectors of the same length.

以下是代码:

x = [5,10,15,20];
scatter(4, data_tab.Bitsi);
hold on
scatter(8, data_tab.Bitsa);
scatter(12, data_tab.Bitsb);
scatter(16, data_tab.Bitsc);
scatter(20, data_tab.Bitsd);

5, 10 ...的每一列也有4个值。 我该怎么做? 感谢。

1 个答案:

答案 0 :(得分:0)

这不是一个优雅的解决方案,但它描绘了你想要的东西

a = rand(1,4);
mean_a = mean(a);
b = rand(1,4);
mean_b = mean(b);
c = rand(1,4);
mean_c = mean(c);
d = rand(1,4);
mean_d = mean(d);
e = rand(1,4);
mean_e = mean(e);

means_array = [mean_a mean_b mean_c mean_d mean_e];


x = [5,10,15,20];
scatter([4 4 4 4], a);
hold on
scatter([8 8 8 8], b);
scatter([12 12 12 12], c);
scatter([16 16 16 16], d);
scatter([20 20 20 20], e);
plot([4 8 12 16 20], means_array);

你的代码的问题是你没有在分散函数的x和y向量中提供相同数量的元素