利用 matplotlib 製作散點圖

利用 matplotlib 製作散點圖:

使用scatter繪製散點圖

matplotlib.pyplot.scatter的函數參數如下:
matplotlib.pyplot.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組成了散點的座標;s爲散點的面積;c爲散點的顏色(默認爲藍色’b’);marker爲散點的標記;alpha爲散點的透明度(0與1之間的數,0爲完全透明,1爲完全不透明);linewidths爲散點邊緣的線寬;如果marker爲None,則使用verts的值構建散點標記;edgecolors爲散點邊緣顏色

例題:計算3月份每天最高氣溫

from matplotlib import pyplot as plt
from matplotlib import  font_manager
import numpy as np
y=[11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
x=range(1,32)

#設置圖形大小
plt.figure(figsize=(20,8),dpi=80)
#使用scatter繪製散點圖
#設置大小
size=np.random.randint(0,100,31)
plt.scatter(x,y,label='3月份',alpha=0.5,s=size,c='red')

my_font=font_manager.FontProperties(fname='F:/大數據分析全棧工程師/2020-02-12/HYTianZhenTi.ttf',size=10)
#調整x軸的刻度
xticks_labels=['3月{}日'.format(i) for i in x]
plt.xticks(x[::3],xticks_labels[::3],fontproperties=my_font,rotation=45)
#調整y軸的刻度
yticks_label=['{}°C'.format(i) for i in range(min(y),max(y)+1)]
plt.yticks(range(min(y),max(y)+1),yticks_label)

plt.xlabel('日期',fontproperties=my_font)
plt.ylabel('溫度',fontproperties=my_font)

#圖例
plt.legend(prop=my_font)
plt.show()
# plt.savefig('F:/sandiantu.svg')

在這裏插入圖片描述

1、繪製普通散點圖
import matplotlib.pyplot as plt
import numpy as np
# 10個點
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
plt.scatter(x, y)
plt.show()

在這裏插入圖片描述

2、更改散點的大小
import matplotlib.pyplot as plt
import numpy as np
# 10個點
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
# 每個點隨機大小
s = (30*np.random.rand(N))**2
plt.scatter(x, y, s=s)
plt.show()

在這裏插入圖片描述

3、更改散點顏色和透明度
import matplotlib.pyplot as plt
import numpy as np
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
# 每個點隨機大小
s = (30*np.random.rand(N))**2
# 隨機顏色
c = np.random.rand(N)
plt.scatter(x, y, s=s, c=c, alpha=0.5)
plt.show()

在這裏插入圖片描述

4、更改散點形狀
import matplotlib.pyplot as plt
import numpy as np
# 10個點
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
s = (30*np.random.rand(N))**2
c = np.random.rand(N)
plt.scatter(x, y, s=s, c=c, marker='^', alpha=0.5)
plt.show()

在這裏插入圖片描述

5、在一張圖上繪製兩組數據的散點
import matplotlib.pyplot as plt
import numpy as np
# 10個點
N = 10
x1 = np.random.rand(N)
y1 = np.random.rand(N)
x2 = np.random.rand(N)
y2 = np.random.rand(N)
plt.scatter(x1, y1, marker='o')
plt.scatter(x2, y2, marker='^')
plt.show()

在這裏插入圖片描述

6、爲散點設置圖例
import matplotlib.pyplot as plt
import numpy as np
# 10個點
N = 10
x1 = np.random.rand(N)
y1 = np.random.rand(N)
x2 = np.random.rand(N)
y2 = np.random.rand(N)
plt.scatter(x1, y1, marker='o', label="circle")
plt.scatter(x2, y2, marker='^', label="triangle")
plt.legend(loc='best') 
plt.show()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章