Matlab:如何在x轴上绘制具有相干间距的稀疏数据

时间:2013-07-31 08:36:49

标签: matlab

我必须用MATLAB打包一些数据。

我有标签:

x = [1 , 2 , 3 , 5 , 10 , 50 , 100 , 110 , 150 , 200 ]

我有一些数据,比如说:

for j=1:10
for i=1:10
y(j,i) = x(i)*rand()
end
end

现在我发布时     箱线图(Y,X) 我在x标签之间获得了固定的间隙。例如,1与2的距离与150到200的距离相同。如何设置与实际间隙成比例的距离?

2 个答案:

答案 0 :(得分:1)

假设(从评论中)您正在使用统计工具箱中的boxplot:

在boxplot(数据,x)中,假设x是关于组的信息 - 例如这与沿x轴的位置无关,而是与如何对数据进行分组的信息有关。在此示例中使用内置数据:

load carsmall
boxplot(MPG,Model_Year)

MPG和Model_Year都是100 x 1双打 - Model_Year包含3个唯一值(70,76,82),例如:此数据中的组数为3.输出为三个框显示这三年的MPG - 但默认情况下,框的位置为1:numGroups。

您可以更改此行为,但需要使用参数:

data = randn(100,7);
x = [1 , 2 , 3 , 5 , 10 , 50 , 100];
boxplot(data,'position',x)

您可能需要使用其他一些绘图参数(框宽等)以使其看起来不错。

答案 1 :(得分:0)

曲线的平滑度取决于数据的分辨率以及人物在图上所做的缩放量。

你有一个像y=x*x这样的抛物线方程式(这不像你的那样精确)

所以,您可以尝试以下内容:

>> x = [1:.025:100];
>> y=x.*x;
>> plot(x,y)