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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章