4.Matplotlib繪圖之scatter散點圖,bar直方圖,contours等高線圖

1 scatter散點圖

import matplotlib.pyplot as plt
import numpy as np

調用.scatter函數,第一個參數是x軸,第二個參數是y軸

plt.scatter(np.arange(5),np.arange(5))
plt.show()

.scatter函數其他的參數,點的大小用’s’,顏色用’c’,alpha是設置透明度,下圖中顏色比較深是因爲點重合了。

x = np.random.normal(0,1,500)
y = np.random.normal(0,1,500)

plt.scatter(x,y,s=50,c='b',alpha=0.5)

#限制x,y的範圍
plt.xlim((-2,2))
plt.ylim((-2,2))

plt.xticks(())
plt.yticks(())

plt.show()

2 bar直方圖

import matplotlib.pyplot as plt
import numpy as np

調用.bar函數繪製直方圖,第一個參數是x,第二個參數是y;

x = np.arange(10)
y = 2**x + 10
plt.bar(x,y)

plt.show()
x = np.arange(10)
y = 2**x + 10
plt.bar(x,-y)

plt.show()

參數facecolor是設置顏色,邊框顏色默認爲黑色,edgecolor可以設置邊框顏色;

x = np.arange(10)
y = 2**x + 10
plt.bar(x,y,facecolor='#9999ff',edgecolor='white')

plt.show()
x = np.arange(10)
y = 2**x + 10
plt.bar(x,y,facecolor='#9999ff',edgecolor='white')
# zip 可以實現多個讀取
for x,y in zip(x,y):
	# 給直方圖頂端添加數值描述
    plt.text(x+0.1,y,'%.2f' % y,ha='center',va='bottom')

plt.show()

3 contours 等高線圖

import matplotlib.pyplot as plt
import numpy as np
# 該函數表示x,y對應的高度
def f(x,y):
    return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

x = np.linspace(-3,3,100)
y = np.linspace(-3,3,100)

# 將x,y傳入到網格中
X,Y =np.meshgrid(x,y)
# 8 的意思是生成8+1條等高線;cmp 表示圖的顏色
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)

# 添加等高線的數值描述
C = plt.contour(X,Y,f(X,Y),8,colors='black',linewidths=.5)
plt.clabel(C,inline=True,fontsize=10)

plt.xticks(())
plt.yticks(())

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