如何提高等高线图中线条的质量(平滑度)

时间:2013-02-15 18:28:11

标签: matlab matlab-figure contour

如何改善出版物中轮廓图的线条平滑度?例如,虚线看起来非常糟糕,连续的线条看起来好像它们的厚度不同。见下文

以下是代码的一部分:

Vals = [0:5:200]; contourf(X,Y,W,Vals,'EdgeColor','k','LineWidth',1.2,'LineStyle',':');axis square;grid;hold on
Vals = [10:10:200]; contour(X,Y,W,Vals,'EdgeColor','k','LineWidth',1.2);
Vals = [20 : 20 : 200]; [C,h] = contour(X,Y,W,Vals,'Color','k','LineWidth',1.8);
clabel(C,h,'FontName','Palatino Linotype','FontAngle','italic','Fontsize',9,'Color','w')

print -djpeg -r300 filename

谢谢!

enter image description here

保存为png没有多大帮助...查看行:/见下文:

enter image description here

现在检查虚线......

enter image description here

这里保存为eps(-r1200)......看起来更好

enter image description here

2 个答案:

答案 0 :(得分:4)

导出为矢量图形肯定会改善您在屏幕上看到的图像;我将LaTeX用于出版物,您可以导出到eps以获取postscript输出,并使用epstopdf进行PDF输出,并将这些直接嵌入到您的文档中;那将是最好的解决方案。

此外,还有一些通用实用程序可以使您的绘图看起来更好用于相机就绪的出版物,最值得注意的是exportfig,它具有大量功能,甚至可以帮助像素图形。这些不仅仅是生成更平滑的图像。

<强> http://www.mathworks.us/matlabcentral/fileexchange/23629-exportfig

(从该页面复制):

此功能将图形或单轴保存为一个或多个矢量和/或位图文件格式,和/或将光栅化版本输出到工作区,具有以下属性:

  • 图/轴在屏幕上显示再现
  • 裁剪边框(可选)
  • 嵌入字体(仅限pdf)
  • 改进了线条和网格线样式
  • 消除锯齿图形(位图格式)
  • 以原始分辨率渲染图像(位图格式可选)
  • 支持透明背景(pdf,eps,png)
  • 支持半透明补丁对象(仅限png)
  • RGB,CMYK或灰度输出(仅限pdf,eps,tiff的CMYK)
  • 可变图像压缩,包括无损(pdf,eps,jpg)
  • 可选择附加到文件(pdf,tiff)
  • 矢量格式:pdf,eps
  • 位图格式:png,tiff,jpg,bmp,导出到工作区

由于媒体制作的高质量和便携性,此功能特别适合出口用于出版物和演示文稿的数字。

答案 1 :(得分:2)

更新:我现在看到您的示例代码。您是否尝试将-r300更改为某些非常高的值?每英寸更多的像素应该使一切看起来更顺畅。对于出版物,请将其设置得非常高,例如-r1200

<强>原始 您可以尝试的一件事是以某种支持矢量图形的格式导出绘图。 Matlab支持PDF和EMF,因此请尝试其中之一。使用saveas命令或图中的“文件 - &gt;另存为”菜单项导出。之后,在其他应用程序中打开或导入图像文件,希望它看起来更好。

如果您获得更好的图片,请添加新的屏幕截图!