MATLAB绘图: 等间距坐标,不等间距的数据

MATLAB 绘图一般选择plot()函数,其坐标轴间距默认是等间距的,但在绘制一些y轴数据与x轴数据数量级相差较大时,绘制的图无法看出细节的趋势,如下图所示:

但通过更改figure的属性,可以实现坐标轴等间距,数据不等间距的绘图,
代码如下:

clc;
clear
clf;
%% 数据
Attack_Rate = [0 0.1 1 10 100 1000 10000 100000];
Interval = 1:length(Attack_Rate);
Average_Packets  = [23.647 22.552 23.081 23.162 22.962 20.807 0.691 0];

plot(Interval,Average_Packets,'*-');
set(gca,'XTickLabel',{'0','0.1','1','10','100','1000','10000','100000'});
xlabel('Attack Rate(packet/s)');
ylabel('Packet/s');

实现效果如下:

其实,实现很简单,就是采用x轴数据的下标替代原有的x轴数据,用x轴数据替代默认的XTickLabel。希望对大家有用。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐