2013-05-07 211 views
3

更新:此問題已在gnuplot的較新版本(> 5.0)中解決;請參閱@andyras的答案。gnuplot中的粗體增強文本


我很難讓gnuplot在非Postscript終端中使用粗體和增強文本創建標籤。下面的腳本

#!/usr/bin/env gnuplot 

reset 

set terminal pdfcairo enhanced color lw 3 size 3,2 font 'Arial-Bold' 
set output 'output.pdf' 

set tics scale 0 

plot -x title 'normal text', \ 
-2*x t 'enhanced_{text}', \ 
-3*x t '{/Arial-Bold attempt to specify_{font}}' 

set terminal pngcairo enhanced color lw 3 size 400,300 font 'Arial-Bold' 
set output 'output.png' 
replot 

set terminal postscript enhanced color lw 3 size 6,4 font 'Arial-Bold' 
set output 'output.eps' 
replot 

reset 

產生下列EPS(轉換爲PNG與convert output.eps -rotate 90 outputeps.png):

enter image description here

這是好的。然而,當我使用PDF或PNG終端的結果是這樣的:

enter image description here

注意的是,雖然所有的標籤文本應大膽,不作任何增強的文本標籤是大膽的。另外,當我嘗試手動指定字體(最後一行標題)時,字體不同(恢復爲默認?)。

這種行爲我不期望在使用postscript終端時會發生什麼?是否有另一種指定字體的方法(即命名方案與postscript不同)?

+0

我的直覺反應是說它只是表明你的字體子系統的粗體字體文件實際上看起來並不是非常「粗體」。但是,您的「正常文本」示例將該假設從水中吹出。它看起來像一個錯誤...但我已經報告的合理數量的錯誤已經回來標記爲「不是一個錯誤」。無論如何,我會說這值得報道。 – mgilson 2013-05-09 15:45:11

+0

我同意。我之前報告的錯誤已被標記爲不是錯誤,所以我想確保沒有其他人有任何想法。 – andyras 2013-05-09 22:17:51

+0

@mgilson將它們標記爲功能請求? :) – Bernhard 2013-08-12 10:32:28

回答

3

自從5.0版本,gnuplot的有一個新的語法來處理這個問題:

"normal text {/Times:Bold boldface-newfont} {/:Italic slanted-default-font } back to normal text"] 

這些支架也可以被嵌套。

-2

爲了在pdf格式中獲得更好的結果。

使用增強eps終端繪製曲線。然後使用Imagemagic將您的輸出轉換爲pdf格式。使用命令

轉換myPlot.eps myPlot.pdf

默認分辨率與該命令產生一個差輸出。這可以通過使用密度選擇與300修改命令的值來克服看起來像

轉換-density 300個myPlot.eps myPlot.pdf

我發現,這保留了PDF格式的EPS文件中所有的文本格式文件。

+1

您不應該使用'convert'將eps轉換爲pdf。這也柵格化你的eps矢量圖形,你也注意到了。使用像'epstopdf'這樣的東西來獲得正確的結果。 – Christoph 2014-10-16 10:24:47

+0

右:ps2pdf是一個ghostscript別名,可在矢量格式 – djconnel 2015-02-25 13:36:01