2015-09-01 57 views
1

如何保存3d pyplot圖像,以便我仍然可以在我的pdf查看器中旋轉它?我知道pdf可以保存,以便3D圖像可以旋轉(我以前有過這樣的文件) - 我怎樣才能使用pyplot來實現這個功能?這個問題的動機是,我想分享其他人可以旋轉的圖像 - 我只需要在Python查看器中旋轉圖像就足夠了,可以拍攝2d快照。pyplot to 3d pdf

這是我的示例代碼。我無法旋轉生成的pdf中的圖像。

import numpy as np 
from matplotlib import pyplot as plt 
from scipy.interpolate import griddata 
from mpl_toolkits.mplot3d import Axes3D 
fig = plt.figure() 
ax = fig.gca(projection='3d') 

X = np.random.random(1000) 
Y = np.random.random(1000) 
Z = np.random.random(1000) 

xi = np.linspace(X.min(),X.max(),100) 
yi = np.linspace(Y.min(),Y.max(),100) 

zi = griddata((X, Y), Z, (xi[None,:], yi[:,None]), method='cubic') 

ax = fig.add_subplot(111, projection='3d') 

xig, yig = np.meshgrid(xi, yi) 

surf = ax.plot_surface(xig, yig, zi,linewidth=0) 

plt.savefig('/Users/kilojoules/Downloads/ex.pdf') 
+0

權,這不回答你的問題(會更容易些,如果你至少給了我們關於如何生成PDF文件,其中一個可以旋轉圖像的提示),但如果你正在尋找與他人分享我總數據發現這非常有用:http://ipython.org/notebook.html –

+0

@AleksanderLidtke:我猜他的意思是像[這裏](http://astrobetter.com/wiki/tiki-index.php?page=教程%20on%203D%20Interactive%20Graphics%20英寸%20PDF&偏移=&sort_mode = comment_desc&atts_show = Y)。我不認爲'matplotlib'支持它,它看起來不是很便攜(至少在OSX的預覽版中不起作用)。 – fjarri

+0

@fjarri我曾經在OSX上的PDF,我可以在3D – kilojoules

回答

-1

3D PDF文件具有內部結構稱爲3D註釋可以包含在通用3D(U3D)或PRC格式的3D模型。如果您的PDF文件具有3D註釋,則可以在3D中查看/旋轉/標記。有許多公司(如www.dimensionpdf.com)可以製作用於從常用CAD軟件包(如AutoCAD)創建3D PDF文件的工具。

如果您不能旋轉3D模型,那麼PDF很可能只包含3D模型的2D圖像,而不包含3D註釋。

+1

@fjarri旋轉 - 3D PDF文件很好地工作使用的Adobe Reader/Acrobat和Bluebeam武/ ReVu應用。 3D PDF適用於這些產品的Mac,Windows和Linux版本。 –