2016-11-29 36 views
1
添加超鏈接到PDF

我生成數字與Matplotlib的PDF後端:如何使用Matplotlib

import matplotlib.pyplot as plt 
plt.title('Foo') 
plt.savefig('bar.pdf', format='pdf') 

什麼是我的選擇,使標題(或任何其他標籤)一個點擊的超鏈接?

+0

也許通過膠乳渲染文本標籤將提供一種方法來做到這一點 –

+0

@MichaelGoerz:就像這個想法一樣,但是當生成大量數字時這不是一個可行的選項。 –

回答

1

使用PGF後端,您將獲得乳膠充分的靈活性,包括是否將定義超鏈接(或內部參考):

import numpy as np 
import matplotlib 
matplotlib.use('pgf') 
import matplotlib.pyplot as plt 

# Example data 
t = np.arange(0.0, 1.0 + 0.01, 0.01) 
s = np.cos(4 * np.pi * t) + 2 

plt.rc('text', usetex=True) 
plt.rc('font', family='serif') 
matplotlib.rcParams['pgf.preamble'] = [r'\usepackage{hyperref}', ] 

plt.plot(t, s) 

plt.xlabel(r'\textbf{time} (s)') 
plt.ylabel(r'\textit{voltage} (mV)') 
plt.title(r"\href{http://www.google.com}{This title links to google}", color='gray') 

plt.savefig('tex_demo.pdf') 

不幸的是,我一直沒能得到這個工作與其他後端(設置text.latex.preamble而不是pgf.preamble)。看起來,雖然其他後端也通過乳膠處理字符串,但它們會去掉超鏈接。

+0

感謝您的回答,儘管它不使用PDF後端,它提供了一個很好的選擇!在接受您的答案之前,我將等待使用PDF後端的解決方案。 –