看板LaTeX
标 题Re: [问题] 绘图问题请教
发信站SayYA 资讯站 (Sat Apr 21 03:42:40 2007)
转信站ptt!ctu-reader!news.nctu!SayYa
很久没有用 Matlab 产生 eps 图档了,手边也没有 Matlab 可以测试,不过
就我以前写论文的印象,大概说一下,希望有帮助。
※ 引述《[email protected] (迈向 Cornell)》之铭言:
> 恩,不好意思来请教各位高手
> 我的问题是因为 Latex 所需是 eps图档
> 所以基本上我现在的图形都是用 Matlab 绘图然後存成 eps
> 恩 问题来了,
> \begin{figure}[th]% \vspace*{1pt}
> \centerline{\psfig{file=test.eps,width=5.0in,height=1.5in,scale=1.0}}
> \caption{This is the test fig}
> \end{figure}
> 我发现如果用比较小的 size,
> ex:
> 假设 Matlab 所输出的字体大小为 12
> width=5.0in,height=5.0in,scale=1.0....... (两轴是比例为 square)
> (1) 我发现那个图形的字在 tex 下面会变的比较小,也许是比例问题
> 不知道各位高手有没处理这问题的经验?
我几乎没有用过 \psfig 来载入 eps 图档,通常我都使用 graphicx
的 \includegraphics 来载入图档。不过你会觉得字体比较小的可能
原因在於,你指定了该 eps 图的长和宽,因此即使你设定 scale=1.0,
实际上该图形可能还是被缩小了,由於 Matlab 产生的 eps 是向量图,
因此在图被缩小的同时,字体也被等比例缩小了。
> 图形不想太大,但座标轴或 label 的字体希望能跟 tex 的文字相同
> 是不是应该放大 Matlab 输出时候的图形,例如 放大成 20 ,
> 让它在 tex 中看起来比较大一点(在比较小的图下)
应该放大的不是图的大小,应该是图所使用的字体的大小。
> (2) 可是如果改变成
> width=6.0in,height=3.0in,scale=1.0....(两轴是比例不为 square)
> 那图形经过变形後似乎字形会改变,就是不是原本的那个样子了
这是因为你指定的长宽比例不是 1:1,导致图形被『压扁』,字体也跟着
被压扁了。
你的这个问题说复杂可以很复杂,但说简单也蛮简单的。如果不改变输出
的图形格式的话,那有几个办法,但要看 Matlab 是怎样把字放进图形里
面的,就我的印象,Matlab 并没有把字转换成向量图,那麽你就有几种
选择:
1. 使用文字编辑器,或者支援 eps 格式的图形处理软体,去把字体大小改大
2. 在 Matlab 里面要输出图形成 eps 前,使用 GUI 编辑字体大小
3. 在 Matlab 的 command window 下,使用 set 指令修改图形的字型大小
的性质,然後再输出成 eps
2 和 3 基本上差不多,差别在於你怎样产生你的图形。我以前的作法是
写了几个 m-file,在跑完数据以後,用 set 修改要修改的一些性质,然後
批次输出成 eps 图。不过这样的作法会有一些根本上的问题:
1. label, title, legend 等的字体终究还是不见得会和 LaTeX 文稿中的
完全一样
2. 有可能需要调整数次才会找到比较适合的大小
因此,如果觉得字体还是差太多,另外的作法则是把数据输出以後,使用
gnuplot 绘制图形,并输出成 LaTeX 绘图巨集的格式。印象中以前 Matlab
5/6 就已经也有输出成 LaTeX 格式的能力,但画出来的结果当时没有比
用 gnuplot 画的好看,现在不知道有没有比较好?这样做的好处是字体会
比较统一,调整字体大小也比较容易,但缺点是可能出来的图形会和你在
Matlab 里面看到的有一点差异。
--
※ Origin: SayYA 资讯站 <bbs.sayya.org>
◆ From: adsl-070-155-125-254.sip.asm.bellsouth.net
1F:推 muto52:感激感激! 受教了..我再试试~ 04/21 05:04