2

如何为出版物提高等高线图中的线条平滑度?例如,虚线看起来很糟糕,实线看起来好像它们的粗细不同。见下文

以下是部分代码:

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

谢谢!

在此处输入图像描述

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

在此处输入图像描述

现在检查虚线...

在此处输入图像描述

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

在此处输入图像描述

4

2 回答 2

4

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

此外,还有一些通用实用程序可以使您的绘图看起来更适合相机准备的出版物,最值得注意的是 exportfig,它具有许多功能,即使是像素图形也可以提供帮助。这些不仅仅是生成更平滑的图像。

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

(从该页面复制):

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

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

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

于 2013-02-15T19:05:17.107 回答
2

更新:我现在看到您的示例代码。您是否尝试过更改-r300为一些非常高的价值?每英寸更多的像素应该使一切看起来更平滑。对于出版,把它调得非常高,比如-r1200.

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

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

于 2013-02-15T18:49:41.060 回答