如何在MATLAB中沿X轴绘制离散点(如特征值)
MATLAB沿固定Y值绘制离散点的解决方案
问题原因
你用plot(x, 0)或plot(x, 1)出现空白图,是因为默认plot函数绘制的是线条,当Y值为单一标量时,没有足够的点形成可见线条,因此显示空白。
解决方案
方法一:用plot指定标记样式
通过生成与X同维度的Y数组,搭配显式标记参数,让离散点清晰显示:
x = [1,2,3,4]; % 沿y=0绘制红色填充圆形标记,设置标记大小为8 plot(x, zeros(size(x)), 'ro', 'MarkerSize', 8, 'MarkerFaceColor', 'r');
zeros(size(x)):生成和x长度一致的Y数组,确保每个X值对应一个Y=0的点'ro':指定红色(r)圆形(o)标记MarkerSize:控制标记尺寸,数值越大点越显眼MarkerFaceColor:设置标记填充色,避免空心点不够醒目
方法二:用scatter专门绘制散点
scatter天生适配散点场景,参数更直观:
x = eig(A); % 替换为你的高斯正交系综特征值数组 % 沿y=1绘制蓝色填充点,标记大小60 scatter(x, ones(size(x)), 60, 'b', 'filled');
坐标轴与标签优化
添加以下代码让图表更清晰:
xlabel('特征值'); ylabel('Y轴'); title('高斯正交系综特征值分布'); grid on; % 显示辅助网格 axis tight; % 自动适配数据调整坐标轴范围
注意事项
- 确保
x是一维数组:若eig(A)返回列向量,可直接使用;如需行向量,添加转置x = eig(A)' - 标记样式可自定义:比如
's'(正方形)、'^'(三角形)、'*'(星号),按需选择
内容的提问来源于stack exchange,提问作者Mr. Gandalf Sauron
相关产品推荐
相关产品推荐

