4

嗨,我在 MATLAB 中有一张图片

在此处输入图像描述

我希望这条线是平滑的 - 看看从 0.4 到 0.8 的线......这太可怕了。在情节中使用'LineSmoothing','on'运算符时,我得到了这个

在此处输入图像描述

我在线条上做得很好,但它也使标记变得平滑,而且它们太可怕了!!

如何让 MATLAB 仅平滑线条而不平滑标记?

这是代码:

clear all;
close all;

bpp = [0.8 0.4 0.2 0.1 0.05];
bpp_j = [0.8 0.4 0.2 0.1];
AAE_JPEG = [1.65 2.91 6.20 10.96];
AAE_JPEG_2000 = [1.39 2.29 3.78 6.75 12.52];
AAE_EEDC = [2.08 2.67 3.80 5.94 9.31];
hold on;
plot(bpp_j, AAE_JPEG, 'k','LineWidth',1.5,'MarkerSize',9,'MarkerEdgeColor','k','LineSmoothing','on');
plot(bpp, AAE_JPEG_2000, 'k', 'LineWidth',1.5,'MarkerSize',6,'MarkerEdgeColor','k','LineSmoothing','on');
plot(bpp, AAE_EEDC, 'k', 'LineWidth',1.5,'MarkerSize',6,'MarkerEdgeColor','k','LineSmoothing','on');

plot(bpp_j, AAE_JPEG, 'x','LineWidth',1.5,'MarkerSize',8,'MarkerEdgeColor','k');
plot(bpp, AAE_JPEG_2000, 'o', 'LineWidth',1.5,'MarkerSize',6,'MarkerEdgeColor','k');
plot(bpp, AAE_EEDC, 'v', 'LineWidth',1.5,'MarkerSize',6,'MarkerEdgeColor','k');

LL = plot(rand(1,2),rand(1,2),'k-x','visible','off','LineWidth',1.5,'MarkerSize',8);
LK = plot(rand(1,2),rand(1,2),'k-o','visible','off','LineWidth',1.5,'MarkerSize',6);
LI = plot(rand(1,2),rand(1,2),'k-v','visible','off','LineWidth',1.5,'MarkerSize',6);
legend([LL,LK, LI],'JPEG','JPEG 2000','EEDC')


axis([0 0.9 0 14])
xlabel('bpp');
ylabel('AAE');
grid on;

当我还在这里的时候......我怎样才能在 x 轴上只显示 0.05 0.1 0.2 0.4 和 0.8 ?

4

2 回答 2

4

我只是尝试使用export_fig甚至没有linesmoothing线条......

于 2013-01-22T10:43:47.080 回答
3

我这里没有 MATLAB,所以我无法测试,但如果你绘制没有标记的平滑线,它会起作用吗

plot(bpp_j, AAE_JPEG, 'k','LineWidth',1.5,'LineSmoothing','on');

那么另一个没有线条的标记图?

plot(bpp_j, AAE_JPEG, 'x','MarkerSize',8,'MarkerEdgeColor','k');

至于 x 轴刻度,请参见matlab x 轴标签集作为向量

于 2013-01-22T10:46:23.723 回答