python 3d绘图库_python – 用于科学3d绘图的Mayavi的替代品
在沒有令人滿意的第一個答案和無法解釋的downvote之后編輯:
我需要繪制一個在3D網格中構造的標量字段,如下所示:
import numpy as np
from mayavi import mlab
dt = 10
X,Y,Z = np.mgrid[0:dt,0:dt,0:dt]
F = X**2+Y**2+Z**2
test = mlab.figure(size = (1024,768), bgcolor = (1,1,1), fgcolor = (0, 0, 0))
sf = mlab.pipeline.scalar_field(X,Y,Z,F)
vl = mlab.pipeline.volume(sf)
mlab.outline()
mlab.axes()
mlab.title('Can not change font size for this title')
mlab.xlabel('Only end ticks')
mlab.ylabel('No major ticks')
我想在Python中這樣做,因為我用這種語言模擬了許多數據集,我希望能夠在我的模擬參數中執行靈敏度時快速可視化它們.
Mayavi似乎為科學3D繪圖提供了非常標準的例程.但是,當在出版物中傳達這些圖時,非常基本的繪圖自定義不可用,例如軸中的主要和次要刻度.此外,支持的那些非常基本的功能到目前為止甚至無法正常工作(例如,請參見字體大小bug和here中的示例).
Python中是否有任何體面且易于使用的科學3D繪圖庫?我曾嘗試學習vtk,但網站示例似乎已過時(例如volume rendering示例無法運行,我嘗試編輯多行代碼以使其無法運行)而其他人似乎同意文檔缺乏.
通過體面的科學繪圖庫,我的意思是:
>允許自定義軸,標簽,標題等字體.
>可以編輯軸刻度線間距(至少有主刻度線).
>可以添加彩條
>有文件.
提前致謝!
最佳答案 你應該嘗試matplotlib,如果你還沒有這樣做的話.使用meshgrid和contour或contourf(你可以在網上輕松找到腳本)來繪制結構化網格上的數據并不困難.甚至可以在非結構化網格上繪圖(檢查出來:
https://grantingram.wordpress.com/plotting-2d-unstructured-data-using-free-software/)
它具有“體面”科學繪圖庫的特點.
編輯:
當你說’3D’繪圖時,我假設你想要一個2變量函數的圖,所以它的圖是3D.
但是,如果您有依賴于3個空間變量的數據,我假設您希望能夠顯示切割平面等.然后我建議您將數據輸出到文件并使用適當的可視化包,例如ParaView(使用VTK)或TecPlot(非自由).您可以通過腳本自動化可視化管道(我相信ParaView支持Python腳本).
總結
以上是生活随笔為你收集整理的python 3d绘图库_python – 用于科学3d绘图的Mayavi的替代品的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机系统账户被锁定,帐号已经被系统锁定
- 下一篇: python 报错继续执行_Python