发布于2021-07-25 07:37 阅读(934) 评论(0) 点赞(27) 收藏(4)
数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。
matplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建
为什么要学习matplotlib
1. 能将数据进行可视化,更直观地呈现
2. 使数据更加客观、更具说服力
from matplotlib import pyplot as plt
fig = plt.figure(figsize=(20, 8), dpi=80)
①figure是图形图标的意思,这里指我们画的图
②通过实例化一个figure并且传递参数,能够在后台自动使用该figure实例
③figsize : 图片大小参数,是一个元组,(20, 8)指的是宽20,高8
④dpi : dots per inch每英寸上点的个数,在图像模糊的时候可以传入dpi参数,让图片更加清晰
plt.xticks(ticks, [labels], **kwargs)
xticks()函数:
ticks:数组类型,用于设置X轴刻度间隔
[labels]:数组类型,用于设置每个间隔的显示标签
**kwargs:用于设置标签字体倾斜度和颜色等外观属性。(注:python里的双星号代表这个位置接收任意多个关键字参数)
【yticks()函数与上面一致】
x = range(1, 6, 1)
y = [15, 13, 14.5, 17, 20]
plt.xticks(x) # x轴
plt.yticks(range(min(y),max(y)+1)) # y轴,+1是由于取数左闭右开
x轴刻度的步长可通过range(1, 6, 1)第三个参数进行调整,但对于range函数,第三个参数只可取整数,而不可取浮点数,此时可将range类型转换成list类型控制步长
x = range(1, 6, 1)
xtick_label = ['a', 'b', 'c', 'd', 'e']
plt.xticks(x, xtick_label)
plt.yticks(range(min(y),max(y)+1)) # y轴,+1是由于取数左闭右开
**kwargs参数
rotation:x轴刻度旋转的度数
plt.xlabel("x轴名称")
plt.ylabel("y轴名称")
plt.title("图表名称")
plt.grid(alpha=0.4)
alpha参数用于设置网格透明度,取值范围为[0, 1]
plt.plot(
x, # x
y, # y
color='r', # 线条颜色
linestyle='--', # 线条风格
linewidth=5, # 线条粗细
alpha=0.5 # 透明度
)
颜色字符 | 风格字符 |
---|---|
r 红色 | - 实线 |
g 绿色 | – 虚线,破折线 |
b 蓝色 | -. 点划线 |
w 白色 | : 点虚线,虚线 |
c 青色 | ’ '留空或空格,无线条 |
m 洋红 | |
y 黄色 | |
k 黑色 | |
#00f00 16进制 | |
0.8 灰度值字符串 |
plt.legend(prop,loc="best")
通过prop指定图例的字体
通过loc指定图例的位置,默认右上角
plt.savefig("./sig_size.png")
可以保存为svg这种矢量图格式,放大不会有锯齿
from matplotlib import pyplot as plt
x = range(1, 6, 1) # 数据在x轴的位置,是一个可迭代对象
y = [15, 13, 14.5, 17, 20] # 数据在y轴的位置,是一个可迭代对象
# 设置图片大小
fig = plt.figure(figsize=(20, 8), dpi=80)
# 绘图
plt.plot(x, y, labels="图例")
# 设置x轴的刻度
plt.xticks(x)
# 绘制网格
plt.grid()
# 添加图例
plt.legend()
# 保存
plt.savefig("./sig_size.png")
# 展示图形
plt.show()
plt.scatter()
参数设置与plt.plot()类似
plt.bar() # 竖着的条形图
plt.barh() # 横着的条形图
参数设置与plt.plot()类似,barh中的height参数等同width参数
直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据范围,纵轴表示分布情况。
特点:绘制连续性的数据,展示一组或者多组数据的分布状况。(统计)
把数据分为多少组进行统计?
组数要适当,太少有较大的统计误差,太多规律不明显。当数据在100个以内时,按数据多少常分为5-12组。
应用场景
①用户的年龄分布状态
②一段时间内用户点击次数的分布状态
③用户活跃时间的分布状态
bin_width = 3 # 设置组距为3
num_bins = int((max(a)-min(a))/bin_width) # 分为多少组
# (1)传入需要统计的数据以及组数即可
plt.hist(a, num_bins)
# (2)可以传入一个列表,长度为组数,值为分组依据,当组距不均匀时使用
plt.hist(a, [min(a)+i*bin_width for i in range(numbins)])
# (3)normed:bool 是否绘制频率分布直方图,默认为频数直方图
plt.hist(a, num_bins, normed = 1)
plt.xticks(list(range(min(a), max(a))[::bin_width],rotation=45)
plt.grid(True, linestyle = "-.", alpha=0.5)
plt.hist方法一般用于那些没有统计过的数据
原文链接:https://blog.csdn.net/qq_38380338/article/details/118364263
作者:小飞刀你有点飘
链接:http://www.pythonpdf.com/blog/article/513/be23fb07f9f7cf27556b/
来源:编程知识网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!