【发布时间】:2013-01-22 10:31:46
【问题描述】:
您好,我在 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?
【问题讨论】:
-
我看不到您的代码如何平滑标记。我认为它只会平滑前三个情节线中的线条。绘制标记的绘图线(后三个)没有设置 LineSmoothing 属性。
标签: matlab plot antialiasing