1 简单线图
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
x=[1,3,5,7,9]
y=[101,103,105,110,116]
plt.plot(x,y,color='pink',marker='o',lineStyle='solid')
plt.title("测试plot")
plt.ylabel('员')
plt.xlabel("人数")
plt.show()
图:
画线图
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
variance = [1,2,4,8,16,32,64,128,256]
bias_squared = [256,128,64,32,16,8,4,2,1]
total_error = [x + yfor x, yin zip(variance, bias_squared)]
xs = [ifor i, _in enumerate(variance)]
# 可以多次调用plt.plot
# 以便在同一个图上显示多个序列
plt.plot(xs, variance,'g-',label='variance')# 绿色实线
plt.plot(xs, bias_squared,'r-.',label='bias^2')# 红色点虚线
plt.plot(xs, total_error,'b:',label='total error')# 蓝色点线
# 因为已经对每个序列都指派了标记
# 所以可以自由地布置图例
# loc=9指的是“顶部中央”
plt.legend(loc=9)
plt.xlabel("模型复杂度")
plt.title("偏差-方差权衡图")
plt.show()
图:
2 柱状图
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
movies = ["Annie Hall","Ben-Hur","Casablanca","Gandhi","West Side Story"]
num_oscars = [5,11,3,8,10]
# 条形的默认宽度是0.8,因此我们对左侧坐标加上0.1
# 这样每个条形就被放置在中心了
x=[ifor i,_in enumerate(movies)]
plt.bar(x,num_oscars)
plt.ylabel("获得奥斯卡奖的数量")
plt.title("我喜欢的电影")
# 获取或设置x轴的当前刻度位置和标签
plt.xticks(x,movies)
plt.show()
图:
3 散点图
import matplotlib.pyplotas plt
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
friends = [70,65,72,63,71,64,60,64,67]
minutes = [175,170,205,120,220,130,105,145,190]
labels = ['a','b','c','d','e','f','g','h','i']
# 具有不同标记大小和/或颜色的y和x的散点图
plt.scatter(friends, minutes)
# 每个点加标记
for label, friend_count, minute_countin zip(labels, friends, minutes):
#用文本s标注点xy
plt.annotate(label,
xy=(friend_count, minute_count),# 把标记放在对应的点上
xytext=(5, -5),# 但要有轻微偏离
textcoords='offset points')
plt.title("日分钟数与朋友数")
plt.xlabel("朋友数")
plt.ylabel("花在网站上的日分钟数")
plt.show()
图: