matplotlib 知識點13:繪製散點圖(scatter函數精講) matplotlib 學習筆記02:marker標記詳解

  散點圖是指在迴歸分析中,數據點在直角座標系平面上的分佈圖,散點圖表示因變量隨自變量而變化的大體趨勢,據此能夠選擇合適的函數對數據點進行擬合。html

  用兩組數據構成多個座標點,考察座標點的分佈,判斷兩變量之間是否存在某種關聯或總結座標點的分佈模式。散點圖將序列顯示爲一組點。值由點在圖表中的位置表示。類別由圖表中的不一樣標記表示。散點圖一般用於比較跨類別的聚合數據。python

  散點圖一般用於顯示和比較數值,例如科學數據、統計數據和工程數據。api


 

初認識:使用numpy包的random函數隨機生成100組數據,而後經過scatter函數繪製散點圖。  

#!/usr/bin/env python
#!-*-coding:utf-8 -*-
#!@Author : Biyoulin
#!@Time   : 2018/9/2 14:40

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus']=False   #用來正常顯示負號

N = 100
x = np.random.randn(N)
y = np.random.randn(N)
plt.scatter(x,y)

plt.title("散點圖示例01") #顯示圖表名稱
plt.xlabel("x軸")    #x軸名稱
plt.ylabel("y軸")    #y軸名稱
plt.text(+1.2,-3,"By:biyoulin",fontsize=16,color="purple")

plt.show()



scatter函數格式:數組

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):

scatter函數參數詳解,英文原版請參見:matplotlib官網scatter函數dom

x,y:形如shape(n,)的數組,可選值,
s:  點的大小(也就是面積)默認20
c:  點的顏色或顏色序列,默認藍色。其它如c = 'r' (red); c = 'g' (green); c = 'k' (black) ; c = 'y'(yellow)
marker:標記樣式,可選值,默認是圓點;
cmap: colormap用於表示從第一個點開始到最後一個點之間顏色漸進變化;
norm: normalize,
vmin:
vmax:
alpha: 設置標記的顏色透明度,能夠理解爲顏色屬性之一
linewidths: 設置標記邊框的寬度值
verts:
edgecolors: 設置標記邊框的顏色
hold:
data:
**kwargs:
 


scatter()函數各參數示例:

一、x,y:橫縱座標,數據座標(data position)

import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5)
plt.show() 

二、marker : 圖標,默認的是「.」,也能夠是其它形狀,想了解更多的,請參見:matplotlib 學習筆記02:marker標記詳解。下面例子將marker設置成了「d」(diamond形狀): 

import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,marker='d')
plt.show()

也能夠是文字:ide

import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,marker='$biyoulin$')
plt.show() 

上面的文字是否是看不到?由於字體過小了,經過參數s(size)能夠調整「點」的大小。函數

 三、size,字體大小,默認值爲20; 

import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,marker='$biyoulin$')
plt.show()

到目前爲止幾個例子中的「點」都是藍色的,能夠經過調整c(color)參數來設置顏色:post

四、c : color,色彩會顏色序列,默認是'b'(藍色),可支持的顏色參數以下:

b c g k m r w y
blue cyan green black magenta red white yellow
藍色 青色 綠色 黑色 洋紅 紅色 白色 黃色
import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',marker='$biyoulin$')
plt.show() 

五、alpha:能夠理解爲顏色的屬性之一 ,即透明度,alpha的範圍爲[0,1],從透明到不透明,上面的例子中 alpha爲1,能夠看看0.5的效果: 

import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=0.5,marker='$biyoulin$')
plt.show()

六、edgecolors:the edge color of marker,顧名思義「邊」的顏色,設置標記邊框的顏色,下面的例子中,將邊的顏色設置了爲藍色: 

import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=1,marker='d',edgecolors='b')
plt.show()

可能有人會問,看不出來「邊」的顏色是藍色。不要緊,經過設置linewidths,就容易看出來了。學習

七、linewidths:the edge size of the marker,設置標記邊框的寬度; 

import matplotlib.pyplot as plt
plt.scatter(x=0.5,y=0.5,s=10000,c='r',alpha=1,marker='d',linewidths=10
            ,edgecolors='b')
plt.show()

八、cmap:A colormap is a series of colors in a gradient that moves from a starting to ending color。注意到是「a series of」,這個參數用於多個點之間,只有一個點就無心義了。注意到「gradient」即量級、程度,用於表示從第一個點開始到最後一個點之間顏色漸進變化。

import matplotlib.pyplot as plt
x1=list(range(0,60))
y1=list(range(0,60))
plt.scatter(x=x1,y=y1,marker='d',s=10,c=y1,cmap=plt.cm.Reds)
plt.show()

注意到c=y1,再也不是顏色的名稱,這裏是一個序列,而且值等於「點」數量值(若是不匹配,則會出錯)。只有c是一個array或一個sequence,用cmap纔有意義。字體

  

參考博文:http://www.javashuo.com/article/p-hakearwl-bv.html

     https://blog.csdn.net/zidephagino/article/details/80777906

做者:biyoulin

出處:http://www.cnblogs.com/biyoulin/

相關文章
相關標籤/搜索