1. 程式人生 > >我與資料科學 - [Today is Matplotlib] - [plt隨用筆記]

我與資料科學 - [Today is Matplotlib] - [plt隨用筆記]

在matplotlib上如何輸出中文的一般步驟:

    mpl.rcParams['font.sans-serif'] = [u'SimHei']
    mpl.rcParams['axes.unicode_minus'] = False

 

 

設定colormap的一般寫法:

cm_light = mpl.colors.ListedColormap(['#A0FFA0', '#FFA0A0', '#A0A0FF'])
cm_dark = mpl.colors.ListedColormap(['g', 'r', 'b'])

 

 

 

建立一個圖形例項:

plt.figure(facecolor='w')

原函式:

def figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=Figure, clear=False, **kwargs)

num:如果此引數沒有提供,則一個新的figure物件將被建立,同時增加figure的計數數值,此數值被儲存在figure物件的一個數字屬性當中。如果有此引數,且存在對應id的figure物件,則啟用對於id的figure物件。如果對應id的figur物件不存在,則建立它並返回它。如果num的值是字串,則將視窗標題設定為此字串。

figsize:以英寸為單位的寬高

dpi:圖形解析度

facecolor:背景色

edgecolor:邊框顏色

frameon:預設值True為繪製邊框,如果為False則不繪製邊框,可以理解為frame:on

clear:重建figure例項

 

 

為決策樹畫背景色:

plt.pcolormesh(x1, x2, y_show_hat, cmap=cm_light)  # 預測值的顯示

其中x1, x2, y_show_hat維度要一樣, y_show_hat中的類別數量要和cm_light數量一樣

 

 

 

plt.scatter(x_test[:, 0], x_test[:, 1], c=y_test.ravel(), edgecolors='k', s=120, cmap=cm_dark, marker='*') 

畫散點圖

函式原型:

def scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, 
alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)

x,y都是資料點向量,長度必須相同

c為標記顏色,如果是RGB 三元數或顏色名稱 -就使用相同的顏色繪製所有標記。 'red' 或 'r'紅色,'black或k'表示黑色。如果散點圖中有三個點,並且您希望這些顏色成為顏色圖的索引,請以三元素列向量的形式指定 c。

marker為標記樣式,都有'o'圓圈, '+'十字,'*'星號,'.'點,'s'方形, 'd'菱形,'p'五角星,'h'六角星,'<>^'上下左右方向鍵頭

edgecolors:標記的輪廓顏色,和c類似,引數也相同

alpha為透明度,[0,1]0為透明,1為不透明

 

 

plt.plot(x,y,format_string,**kwargs) 

x軸資料,y軸資料,format_string控制曲線的格式字串 

format_string 由顏色字元,風格字元,和標記字元 

plt.plot(depth, err_list, 'ro-', lw=2)

函式表示紅色線,圓圈標記資料點,實線相連 

 

 

subplot(numRows, numCols, plotNum)

表示分成rows行,cols列,按照從左到右,從上到下的順序對每個子區域進行編號,左上的子區域的編號為1,當前使用第plot個,如果numRows,numCols和plotNum這三個數都小於10的話,可以把它們縮寫為一個整數,例如subplot(323)和subplot(3,2,3)是相同的。

 

 

matplotlin.pyplot.grid(b, which, axis, color, linestyle, linewidth, **kwargs)

繪製網格線

b : 布林值。就是是否顯示網格線的意思

axis : 取值為‘both’, ‘x’,‘y’,就是想繪製哪個方向的網格線

color : 設定網格線的顏色。或者直接用c來代替color也可以。

linestyle :也可以用ls來代替linestyle, 設定網格線的風格,是連續實線,虛線或者其它不同的線

linewidth : 設定網格線的寬度