Python matplotlib筆記

可視化的工具備不少,如Tableau,各類JS框架,我我的感受應該是學JS最好,由於JS不須要環境,每一個電腦都有瀏覽器,而像matplotlib須要Python這樣的開發環境,仍是比較麻煩的,可是畢竟用Python處理數據,本文仍是要寫點本身的學習筆記的,固然知道畫什麼最重要(我並不知道-。-)!html

儘可能畫二維,不用三維。若是年齡和歲數的二維圖,多了薪水,可讓高薪水的點畫大的點,顏色深點。python

文本可視化(word cloud詞圖,theme flow標籤的量,情感可視化 積極的消極的等等)瀏覽器

時序可視化(金融時間序列)網絡

高維可視化,平行座標方法,不像笛卡爾座標x,y軸垂直。框架

如圖經過線的鏈接來體現。函數

社交網絡圖可視化。工具

科學性可視化,高性能計算裏很常見,體量特別大,如颱風,雲的移動實時渲染。性能

Matplotlib

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1,2,50)
y = 2*x + 2
y2 = x**2

plt.xlim((-1,2))  #x,y的範圍
plt.ylim((-2,3))
plt.xlabel('I am x')  #設置座標軸的名字
plt.ylabel('I am y')

l1, = plt.plot(x,y,color = 'red',linewidth = 1.0 ,linestyle = '--',label='up')  #legend爲設置圖例,若是要傳handle l1,l2必須加逗號,labels能夠覆蓋l1,l2中的名字,
l2, = plt.plot(x,y2,label = 'down')                          #loc 能夠是best讓他本身選,也能夠本身設置
plt.legend(handles = [l1,l2],labels = ['aaa','bbb'],loc = 'best')
# plt.show()

new_ticks = np.linspace(-1,2,5)
plt.xticks(new_ticks)
plt.yticks([-2.-1.5,-1,1,3],[r'really bad',r'bad',r'normal',r'good',r'really good'])
# plt.show()

ax = plt.gca()
ax.spines['right'].set_color('none') #四個框,設置右邊,和上邊的框爲無色
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',-1))
ax.spines['left'].set_position(('data',0))
plt.show()

  

  其實Matplotlib的圖像都位於一個Figure畫布之中,plt.figure用於建立一個新的畫布。而我上面並無plt.figure,而是直接plt.plot,那是由於plot會經過plt.gca()來得到當前axes對象,若是沒有則自動建立,再調用axes對象的plot的方法來畫圖。對於pyplot,它保存了當前的圖表和子圖信息,能夠經過plt.gcf(get current figure)和plt.gca(get current axes), 函數都是對當前的figure或者axes對象處理的。學習

能夠參考http://www.cnblogs.com/nju2014/p/5620776.html(詳解圖像各個部分)spa

以及http://www.cnblogs.com/NaughtyBaby/p/5533855.html

關於各種的柱狀,散點之類的圖http://www.cnblogs.com/jasonfreak/p/5441512.html(用python進行描述性統計)

相關文章
相關標籤/搜索