強烈推薦ipythonpython
原文:http://michaelxiang.me/2016/05/14/python-matplotlib-basic/segmentfault
轉自:https://www.cnblogs.com/zhizhan/p/5615947.htmlhtml
強烈推薦ipythonpython
原文:http://michaelxiang.me/2016/05/14/python-matplotlib-basic/segmentfault
強烈推薦ipython後端
原文:http://michaelxiang.me/2016/05/14/python-matplotlib-basic/api
不管你工做在什麼項目上,IPython都是值得推薦的。利用ipython --pylab
,能夠進入PyLab模式,已經導入了matplotlib庫與相關軟件包(例如Numpy和Scipy),額能夠直接使用相關庫的功能。數組
本文做爲學習過程當中對matplotlib一些經常使用知識點的整理,方便查找。dom
這樣IPython配置爲使用你所指定的matplotlib GUI後端(TK/wxPython/PyQt/Mac OS X native/GTK)。對於大部分用戶而言,默認的後端就已經夠用了。Pylab模式還會向IPython引入一大堆模塊和函數以提供一種更接近MATLAB的界面。函數
1 |
import matplotlib.pyplot as plt |
爲了在圖表中可以顯示中文和負號等,須要下面一段設置:post
1 |
import matplotlib.pyplot as plt |
可使用ipython --pylab
打開ipython命名窗口。學習
1 |
%matplotlib inline #notebook模式下 |
這兩個命令均可以在繪圖時,將圖片內嵌在交互窗口,而不是彈出一個圖片窗口,可是,有一個缺陷:除非將代碼一次執行,不然,沒法疊加繪圖,由於在這兩種模式下,是要有plt
出現,圖片會立馬show
出來,所以:
推薦在ipython notebook時使用,這樣就能很方便的一次編輯完代碼,繪圖。
在代碼執行過程當中,有兩種方式更改參數:
若是不想每次使用matplotlib時都在代碼部分進行配置,能夠修改matplotlib的文件參數。能夠用matplot.get_config()
命令來找到當前用戶的配置文件目錄。
配置文件包括如下配置項:
axex: 設置座標軸邊界和表面的顏色、座標刻度值大小和網格的顯示
backend: 設置目標暑促TkAgg和GTKAgg
figure: 控制dpi、邊界顏色、圖形大小、和子區( subplot)設置
font: 字體集(font family)、字體大小和樣式設置
grid: 設置網格顏色和線性
legend: 設置圖例和其中的文本的顯示
line: 設置線條(顏色、線型、寬度等)和標記
patch: 是填充2D空間的圖形對象,如多邊形和圓。控制線寬、顏色和抗鋸齒設置等。
savefig: 能夠對保存的圖形進行單獨設置。例如,設置渲染的文件的背景爲白色。
verbose: 設置matplotlib在執行期間信息輸出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 爲x,y軸的主刻度和次刻度設置顏色、大小、方向,以及標籤大小。線條相關屬性標記設置
線條風格linestyle或ls | 描述 | 線條風格linestyle或ls | 描述 | |
---|---|---|---|---|
‘-‘ | 實線 | ‘:’ | 虛線 | |
‘–’ | 破折線 | ‘None’,’ ‘,’’ | 什麼都不畫 | |
‘-.’ | 點劃線 |
標記maker | 描述 | 標記 | 描述 | |
---|---|---|---|---|
‘o’ | 圓圈 | ‘.’ | 點 | |
‘D’ | 菱形 | ‘s’ | 正方形 | |
‘h’ | 六邊形1 | ‘*’ | 星號 | |
‘H’ | 六邊形2 | ‘d’ | 小菱形 | |
‘_’ | 水平線 | ‘v’ | 一角朝下的三角形 | |
‘8’ | 八邊形 | ‘<’ | 一角朝左的三角形 | |
‘p’ | 五邊形 | ‘>’ | 一角朝右的三角形 | |
‘,’ | 像素 | ‘^’ | 一角朝上的三角形 | |
‘+’ | 加號 | ‘\ | ‘ | 豎線 |
‘None’,’’,’ ‘ | 無 | ‘x’ | X |
能夠經過調用matplotlib.pyplot.colors()
獲得matplotlib支持的全部顏色。
別名 | 顏色 | 別名 | 顏色 | |
---|---|---|---|---|
b | 藍色 | g | 綠色 | |
r | 紅色 | y | 黃色 | |
c | 青色 | k | 黑色 | |
m | 洋紅色 | w | 白色 |
若是這兩種顏色不夠用,還能夠經過兩種其餘方式來定義顏色值:
color='eeefff'
使用合法的HTML顏色名字(’red’,’chartreuse’等)。color=(0.3,0.3,0.4)
不少方法能夠介紹顏色參數,如title()。plt.tilte('Title in a custom color',color='#123456')
經過向如matplotlib.pyplot.axes()
或者matplotlib.pyplot.subplot()
這樣的方法提供一個axisbg
參數,能夠指定座標這的背景色。
subplot(111,axisbg=(0.1843,0.3098,0.3098)
若是你向plot()指令提供了一維的數組或列表,那麼matplotlib將默認它是一系列的y值,並自動爲你生成x的值。默認的x向量從0開始而且具備和y一樣的長度,所以x的數據是[0,1,2,3].
圖片來自:繪圖: matplotlib核心剖析
1 |
%matplotlib inline |
用一條指令畫多條不一樣格式的線。
1 |
import numpy as np |
你能夠屢次使用figure命令來產生多個圖,其中,圖片號按順序增長。這裏,要注意一個概念當前圖和當前座標。全部繪圖操做僅對當前圖和當前座標有效。一般,你並不須要考慮這些事,下面的這個例子爲你們演示這一細節。
1 |
import matplotlib.pyplot as plt |
figure感受就是給圖像ID,以後能夠索引定位到它。
1 |
import numpy as np |
在數據可視化的過程當中,圖片中的文字常常被用來註釋圖中的一些特徵。使用annotate()方法能夠很方便地添加此類註釋。在使用annotate時,要考慮兩個點的座標:被註釋的地方xy(x, y)和插入文本的地方xytext(x, y)。[^1]
1 |
import numpy as np |
如今是明白乾嗎用的了,就是人爲設置座標軸的刻度顯示的值。
1 |
# 導入 matplotlib 的全部內容(nympy 能夠用 np 這個名字來使用) |
當咱們設置記號的時候,咱們能夠同時設置記號的標籤。注意這裏使用了 LaTeX。[^2]
[^2]:Matplotlib 教程
1 |
ax = gca() |
這個地方確實沒看懂,囧,之後再說吧,感受就是移動了座標軸的位置。
1 |
plot(X, C, color="blue", linewidth=2.5, linestyle="-", label="cosine") |
使用plt.style.use('ggplot')
命令,能夠做出ggplot風格的圖片。
1 |
# Import necessary packages |
好吧,又是註釋,多個例子參考一下!
咱們但願在 2π/32π/3 的位置給兩條函數曲線加上一個註釋。首先,咱們在對應的函數圖像位置上畫一個點;而後,向橫軸引一條垂線,以虛線標記;最後,寫上標籤。
1 |
t = 2*np.pi/3 |
plt.subplot(2,3,1)
表示把圖標分割成2*3的網格。也能夠簡寫plt.subplot(231)
。其中,第一個參數是行數,第二個參數是列數,第三個參數表示圖形的標號。
咱們先來看什麼是Figure和Axes對象。在matplotlib中,整個圖像爲一個Figure對象。在Figure對象中能夠包含一個,或者多個Axes對象。每一個Axes對象都是一個擁有本身座標系統的繪圖區域。其邏輯關係以下^3:
rect=[左, 下, 寬, 高] 規定的矩形區域,rect矩形簡寫,這裏的數值都是以figure大小爲比例,所以,如果要兩個axes並排顯示,那麼axes[2]的左=axes[1].左+axes[1].寬,這樣axes[2]纔不會和axes[1]重疊。
show code:
1 |
http://matplotlib.org/examples/pylab_examples/axes_demo.html |
[^3]:繪圖: matplotlib核心剖析
找出matpltlib.pyplot.plot中的colors能夠取哪些值?
1 |
for name,hex in matplotlib.colors.cnames.iteritems(): |
打印顏色值和對應的RGB值。
plt.axis('equal')
避免比例壓縮爲橢圓 1 |
autopct enables you to display the percent value using Python string formatting. For example, if autopct='%.2f', then for each pie wedge, the format string is '%.2f' and the numerical percent value for that wedge is pct, so the wedge label is set to the string '%.2f'%pct. |
願有歲月可回首,願有前程可奔赴!努力向上,樂觀開心!fighting!