2014-09-25 405 views
1

我确信这有一个简单的解决方案,但我无法找到一条出路。当我在Matlab中绘制粗线并打印它时(r550),我会看到下面的弯曲线。我尝试了'平稳'的命令无济于事。下面的代码:Matlab - 平滑曲线中的弯曲和锯齿线

plot(x,y1,'b','LineWidth',8);hold on 
plot(x,y2,'r','LineWidth',8);hold on 
print -djpeg -r550 figure1 

这里的蓝线值(Y1):

y1 = [1.9 1.81 1.73 1.65 1.63 1.6 1.65 1.59 1.54 1.52 1.47 1.52 1.53 1.48 1.44 1.43 1.‌​39 1.38 1.34 1.33 1.33 1.32 1.29 1.26 1.23 1.22 1.24 1.23 1.21 1.22 1.22 1.2 1.25‌​ 1.25 1.22 1.22 1.2 1.18 1.19 1.17 1.15 1.13 1.15 1.13 1.11 1.09 1.08 1.07 1.12 1‌​.1 1.1 1.08 1.08 1.07 1.05 1.04 1.03 1.01 1.01 1.01 1.01 1 1 1 1 1 0.99 1.01 1.01‌​ 1.01 1 0.99 0.98 0.98 0.98 0.97 0.97 0.97 0.97 0.97 0.97 0.96 0.96 0.96 0.96 0.9‌​5 0.95 0.99 0.98 1 0.99 0.98 0.98 0.98 0.98 0.98 0.97 0.97 0.97 0.96 0.95 0.94 0.‌​94 0.93 0.93 0.93 0.92 0.93 0.92 0.91 0.92 0.92 0.91 0.92 0.93 0.92 0.91 0.91 0.9‌​1 0.9 0.89 0.89 0.89 0.88 0.88]; 

任何帮助,使它看起来漂亮和流畅?谢谢!

enter image description here

---------与DMETA --------------

我用600dpi的分辨率。下图看起来不错,但是在Word文件或Powerpoint中并没有显示出良好的效果。有任何想法吗??

enter image description here

+0

请重新发送问题代码 – 2014-09-25 10:49:05

+0

嗨路易斯,我添加了上面的代码... – 2014-09-25 10:52:42

+0

这不会重现问题(甚至从头开始运行)。 'print'命令在哪里? – 2014-09-25 10:52:58

回答

2

如果你在Windows工作,很好的选择是导出到Windows元文件(.EMF),而不是JPEG:

print -dmeta figure1 

此外,它会在微软Office更好文件(矢量格式)。 如果需要,您始终可以将emf转换为jpeg。

+0

嗨奥列格,感谢您的帮助。达美达解决了上述问题,但线路质量不高。该行也看起来有别名。检查我的更新 – 2014-09-25 17:22:10

+0

对不起,迟到的答案。你的更新图是前一张的放大版吗? Matlab通过直线连接数据点。如果你想获得比实际数据更多的数据点,你可以考虑例如样条插值:'xstep = 0.01; xnew =分钟(X):XSTEP:最大(X); ynew = interp1(X,Y,xnew, '花键');'。 – Oleg 2014-09-29 08:55:17

+0

不,这是不同的值。谢谢! – 2014-09-29 18:21:03

1

这个问题是由matlab如何呈现对象进行保存引起的。

你可以尝试的一件事是HG2更新到MATLAB(link)。对于视觉上吸引人的图形来说,这是一个主要的改进,但它可能会导致matlab崩溃。

解决方法,您可能会发现足够好的是为每个数据行添加标记图。如

plot(x,y1,'.b','MarkerSize',24); 

在每个节点放置一个标记将填充图的粗糙边缘。您可能必须稍稍使用标记大小。

+0

嗨Trogdor,感谢您的帮助。 – 2014-09-25 16:26:02