使用Matlab中的散点在原点(0,0)处交叉X和Y轴

时间:2012-09-07 16:24:09

标签: matlab scatter-plot

我有两个矩阵:

X = [-1 -4 5 6]  ;
Y = [3 20 300 2] ;    %   Always > 0
scatter(x,y,4^2)

默认情况下,Scatter不会强制X和Y在原点(0,0)处交叉。有办法吗?请告诉我。

2 个答案:

答案 0 :(得分:1)

There is no built-in function that can do this

如果您不想使用上述链接提供的基本工具,那么在文件交换a simpler onea more powerful one上有一些很好的解决方案,尽管后者使用了一些未记录的功能。

答案 1 :(得分:0)

如果你想让x和y网格线穿过原点(比如在this示例中),我认为没有一种简单的方法可以做到(关于类似问题的讨论{{ 3}})。在MATLAB文件交换中,有here似乎可以做你想要的。您必须参考其内部文档。

另一种方法是手动设置x / y限制并自己绘制一些轴:

%Set limits
xlim([-10 10]);
ylim([-300 300]);

hold on;
%Plot data
scatter(x, y);
%Plot axes
plot([0 0], [-300 300], 'k');
plot([-10 10], [0 0], 'k');
hold off;

但是这只是绘制一个黑色的十字架,没有刻度/数字等。