数据分析基础笔记(matplotlib)
1.1 是什么?有什么用?
Matplotlib 是一个Python的2D绘图库,用来生成绘图,直方图,功率谱,条形图,错误图,散点图等
1.2 基础语法
1.2.1 创建
from matplotlib import pyplot as plt
#折线图
plt.plot(x,y,label = "添加描述信息",color = "设置颜色", linestyle = "设置线条的形态")
#绘制网格,网格主要起辅助性作用,alpha代表不透明度
plt.grid(alpha = 0.4)
#添加图例,prop接受字体,loc图例位置
plt.legend(prop = my_font,loc = "upper left")
#设置图片大小,figsize指图片大小,dpi为图片清晰度
plt.figure(figsize = (20,8),dpi = 80)
#展示图形
plt.show()
#保存图片
plt.savefig("./a.png")
1.2.2 使用
(1) 设置图形信息
#fontproperties设置字体,通用
plt.xlabel("添加图形信息",fontproperties = my_font)
plt.ylabel("添加图形信息",fontproperties = my_font)
plt.title("添加图形标题",fontproperties = my_font)
(2) 坐标轴刻度
#绘制x轴的刻度
plt.xticks()
#当刻度太密集时使用列表的步长(间隔取值)来解决
plt.xticks(x[::2])
#x轴上的刻度不单单只能显示数字
#取步长,数字和字符串一一对应,数据的长度一样
#rotation旋转的度数
_x = list(x)[::3]
_xticks_labels = ["hello,{}".format(i) for i in _x]
plt.xticks(_x,_xticks_labels[::3],rotation = 90)
(3) 设置中文显示
#在dos窗口下找到字体文件位置的命令
fc-list : lang = zh
#windows 和 linux下设置字体的方式
font = {'family' : '你要设置的字体(英文)',
'weight' : '粗体等设置',
'size' : '大小设置'}
matplotlib.rc("font",**font)
my_font = font_manager.FontProperties(fname = "电脑自带字体所在的文件位置")
plt.xticks(_x,_xticks_labels[::3],rotation = 90,fontproperties=my_font)
1.2.3 其他图形
#散点图,适合描述分布规律
plt.scatter(x,y,label = "添加描述信息")
#条形图,适合绘制离散型数据
#竖的条形图,width指条形图的宽度
plt.bar(range(len(a)),b,width = 数值)
#横的条形图,主流,height 和 width意思类似
plt.barh(range(len(a)),b,height = 数值)
#直方图,适合绘制连续性数据
#设置组距:指每个小组的两个端点之间的距离
d = 5
#设置组数
num_bins = (max(a)-min(a))//d
#传入数据和组数,normed = 1为频率直方图,normed = 0时为频数直方图
plt.hist(a,num_bins,normed = 1)
1.2.4 更多花样
matplotlib 支持的图形: http://matplotlib.org/gallery/index.html
图形框架:百度echarts
绘图工具:plotly、seaborn