一,通用属性配置
# -*- coding:utf-8 -*-import matplotlib.pyplot as plt# figure相当于创建一个画布,然后设置其大小为10*5的,dpi是设置该窗口的分辨率plt.figure(figsize=(10, 5), dpi=80)# 当想在同一个 坐标轴下画出多个曲线时,可以多来几次 plot即可,如下所示:x = range(0, 24, 2)y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]# x轴的界限plt.xlim(0, 30)# y轴的界限plt.ylim(0, 30)# 显示网格plt.grid(True)# color=''表示曲线的颜色; linestyle=''表示曲线的样式; linewidth=5表示线的宽度; alpha=0.5表示线的不透明度;marker='o'会把对应的点标记到二维平面上plt.plot(x, y, color='green', linestyle='--', linewidth=5, alpha=0.5, marker='o')x2 = range(0, 24, 2)y2 = [9, 11, 14.5, 17, 20, 25, 26, 26, 24, 21, 15, 10]plt.plot(x2, y2)# x轴数据的解释plt.xlabel("time")# y轴数据的解释plt.ylabel("temperature")# 标题plt.title("temperature range")# 给图加上图例,传的参数为其名称plt.legend(["1th", "2th"])# 设置x轴刻度的值plt.xticks(x)# 保存成图片plt.savefig("./sig_size.png")plt.show()
如下是运行结果
二,用图说话
1,折线图(line):能够显示数据的变化趋势,变化情况
应用场景:每个时间点推荐接口的耗时,每个时间点广告的ctr等;matplotlib.plot(x,y)
2,直方图,又叫柱状图(Histograms):一般横轴表示数据范围,纵轴表示分布情况.一般绘制连续性的数据,展示一组或者多组数据的分布情况;
应用场景:用户的年龄分布,一段时间内用户对某种广告的点击次数分布,用户活跃时间分布等;matplotlib.hist(data,num_bins)# num_bins表示组数;
假如有一组数据a,需要统计它们的分布情况,比如出现在某一个区间内的频率是多少a=[131,98,124,156,177,121,151]# 设置组距为3bin_width=3# 分为多少个组num_bins=int( (max(a)-min(a))/bin_width )plt.hist(a,num_bins)plt.xticks( list(range(min(a),max(a)))[::bin_width],rotation=45)plt.grid(True,linestyle="-.",alpha=0.5)
3,条形图(bar):绘制离散的数据,能够一眼看出各个数据的大小,比较数据之间的差距;
应用场景:数量统计,频率统计等,matplotlib.bar(x,y)
比如世界500强公司的市值情况,a=["alibaba","apple","google"]b=[100,99,98]_x=rang(len(a))_y=b# bar 绘制条形图,只能接受含数字的可迭代对象,width表示长条的宽度plt.bar(_x,b,width=0.2,color="orange")# 通过设置 xticks实现数字和字符串的对应plt.xticks(_x,a,rotation=90)
4,散点图(scatter):用两组数据构成多个坐标点,考察坐标点的分布规律,判断两变量之间是否存在某种关联或者总结坐标点的分布模式;
应用场景:不同维度之间的潜在关系,数据的离散聚合情况;matplotlib.scatter(x,y)
欢迎大家点个在看,分享至朋友圈
