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。希望对大家有用。
|