我有两个矩阵:
X = [-1 -4 5 6] ;
Y = [3 20 300 2] ; % Always > 0
scatter(x,y,4^2)
默认情况下,Scatter不会强制X和Y在原点(0,0)处交叉。有办法吗?请告诉我。
答案 0 :(得分:1)
There is no built-in function that can do this
如果您不想使用上述链接提供的基本工具,那么在文件交换a simpler one和a 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;
但是这只是绘制一个黑色的十字架,没有刻度/数字等。