2013-04-10 30 views
0

所以我想了解一個人物是如何構造的。我的理解是這樣的:matplotlib數字結構如何?

你有一個帆布(如果你有一個GUI或類似的東西),圖形和斧頭

你軸線添加到圖中,這一數字到畫布。

該地塊由軸舉行,因此,例如:

import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot([1, 2], [1, 4]) 
fig.show() 

我預計會創造一個人物,但是我只是得到一個空白的窗口......而且,似乎canvas是沒有必要的?

任何幫助表示讚賞謝謝!

在這裏說,上面的代碼應該工作......或有類似的例子

https://github.com/thehackerwithin/PyTrieste/wiki/Python7-MatPlotLib

+0

你使用了什麼後端,因爲該代碼應該工作。運行'matplotlib.get_backend()'時我運行' – tacaswell 2013-04-10 03:49:07

+0

''我得到''Qt4Agg'' – evan54 2013-04-10 03:54:34

+0

您的代碼在我的系統上正確運行,我懷疑您的配置問題存在。 – tacaswell 2013-04-10 03:57:58

回答

2

你不應該在畫布被戳,除非你真的知道你在做什麼(將mpl嵌入到另一個程序中)。 pyplot有一堆很好的工具,可以幫你照顧大部分的工作。

用戶層(圖,軸,藝術家等)與渲染層(畫布,渲染器等)之間存在分離。第一層面向用戶,應該是獨立於機器的。第二層是機器特定的,但不應該暴露給用戶的 。

有很多'後端'負責照顧兩層之間的翻譯(通過提供畫布的子類等)。有交互式後端(QtAgg,GtkAgg,TkAgg,...),其中包括所有的掛鉤到一個GUI工具包,以提供很好的窗口和非交互式後端(PS,PDF,...),只保存文件。 (和axis)。這些類將與渲染層交談,但是您(大部分)不需要擔心如何操作。