1. 程式人生 > >python科學計算學習二:matplotlib繪圖,圖標註釋(2)

python科學計算學習二:matplotlib繪圖,圖標註釋(2)

    圖標註釋對於搞研究的人來說是很重要的,一般的paper裡面也都會有。所以是很有必要要學習的。

    下面通過一個例子來說明python是怎麼做的。

  1 import matplotlib.pyplot as plt
  2 import numpy as np
  3 
  4 x=np.linspace(-1,1,10)
  5 y=x**2
  6 
  7 fig=plt.figure(figsize=(8,4))
  8 ax=plt.subplot(111)
  9 plt.plot(x,y)
 10 
 11 for i,(_x,_y) in enumerate(zip(x,y)):
 12     plt.text(_x,_y,i,color='red',fontsize=i+10)
 13 plt.text(0.5,0.8,'subplot words',color='blue',ha='center',transform=ax.trans    Axes)
 14 plt.figtext(0.1,0.92,'figure words',color='green')
 15 plt.annotate('buttom',xy=(0,0),xytext=(0.2,0.2),arrowprops=dict(facecolor='blue', shrink=0.05))
 16 plt.show()
~                   

    前面1-10行很清楚啊。前面已經學習過了。11行表示i從0到N-1(N表示xy的個數),-x,-y從所給的資料中取10組出來。然後再每一個點的位置寫上i。這個i 數字的大小是越來越大的。這個for i,(_x,_y) in enumerate(zip(x,y)):具體的用法不懂的可以參見http://blog.csdn.net/ikerpeng/article/details/19973321的第9個知識點。若是還要更加細緻的瞭解在參見:http://www.saltycrane.com/blog/2008/04/how-to-use-pythons-enumerate-and-zip-to。後面13,14行講的是子圖和影象中輸入文字。關於text()figtext(),具體的參見http://caoyaqiang.diandian.com/post/2013-02-03/40049144132。在通過annotate()函式畫一個標註的箭頭;其中的兩個位置是箭頭和箭尾的座標,後面是顏色等資訊。於是得到如下的結果:


標註的基本知識到此結束了。