1,Matplotlib简介及图表窗口
2 ,图表的基本元素
3,图表的样式参数
4,刻度、注解、图表输出
5,子图
7,柱状图、堆叠图
8,面积图、填图、饼图
9,直方图
10,散点图
11,极坐标图
12,箱型图
导入Matplotlib进行画图时,一定记得导入以下代码
import numpy as np
import pandas as pd
import matplotlib as plt
#让图表直接在Jupyter Notebook中展示出来
%matplotlib inline
#解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
#设置成矢量图格式显示,使图更清晰
%config InlineBackend.figure_format='svg'
'''
1,Matplotlib简介及图表窗口
Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python、numpy、pandas基本数据结构,运营高效且有较丰富的图表库
'''
# 图表窗口1 → plt.show()
导入必备的几个库
# 图表窗口2 → 魔法函数,嵌入图表
# 图表窗口3 → 魔法函数,弹出可交互的matplotlib窗口
# 图表窗口4 → 魔法函数,弹出matplotlib控制台
%matplotlib qt5
df = pd.DataFrame(np.random.rand(50,2),columns=['A','B'])
df.hist(figsize=(12,5),color='g',alpha=0.8)
# 可交互性控制台
# 如果已经设置了显示方式(比如notebook),需要重启然后再运行魔法函数
# 网页嵌入的交互性窗口 和 控制台,只能显示一个
'''
2 ,图表的基本元素
图表内基本参数设置
'''
# 其他元素可视性
'''
3,图表的样式参数
linestyle(线性)、style(风格字符串)、color(颜色)、marker(数据点样式)
'''
# linestyle参数
# marker参数
# color参数
# style参数
# 整体风格样式
'''
4,刻度、注解、图表输出
主刻度、次刻度
'''
# 刻度
# 注解
# 图表输出
'''
5,子图
在matplotlib中,整个图像为一个Figure对象
在Figure对象中可以包含一个或者多个Axes对象
每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域
plt.figure, plt.subplot
'''
# plt.figure() 绘图对象
# 子图创建1 - 先建立子图然后填充图表
# 子图创建2 - 创建一个新的figure,并返回一个subplot对象的numpy数组 → plt.subplot
# plt.subplots,参数调整
# 子图创建3 - 多系列图,分别绘制
'''
6,基本图表绘制 plt.plot()
图表类别:线形图、柱状图、密度图,以横纵坐标两个维度为主
同时可延展出多种其他图表样式
plt.plot(kind='line', ax=None, figsize=None, use_index=True, title=None, grid=None, legend=False,
style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, label=None, secondary_y=False, **kwds)
# Series.plot():series的index为横坐标,value为纵坐标
# kind → line,bar,barh...(折线图,柱状图,柱状图-横...)
# label → 图例标签,Dataframe格式以列名为label
# style → 风格字符串,这里包括了linestyle(-),marker(.),color(g)
# color → 颜色,有color指定时候,以color颜色为准
# alpha → 透明度,0-1
# use_index → 将索引用为刻度标签,默认为True
# rot → 旋转刻度标签,0-360
# grid → 显示网格,一般直接用plt.grid
# xlim,ylim → x,y轴界限
# xticks,yticks → x,y轴刻度值
# figsize → 图像大小
# title → 图名
# legend → 是否显示图例,一般直接用plt.legend()
'''
# Series直接生成图表
# Dataframe直接生成图表
'''
7,柱状图、堆叠图
plt.plot(kind='bar/barh') , plt.bar()
'''
# 柱状图与堆叠图
# 柱状图 plt.bar()
# 外嵌图表plt.table()
'''
8,面积图、填图、饼图
plt.plot.area()
plt.fill(), plt.fill_between()
plt.pie()
'''
# 面积图
# 填图
# 饼图 plt.pie()
'''
9,直方图
plt.hist(x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical',rwidth=None, log=False, color=None, label=None, stacked=False, hold=None, data=None, **kwargs)
'''
# 直方图+密度图
# 堆叠直方图
'''
10,散点图
plt.scatter(), pd.scatter_matrix()
'''
'''
11,极坐标图
调用subplot()创建子图时通过设置projection='polar',便可创建一个极坐标子图,然后调用plot()在极坐标子图中绘图
'''
# 创建极坐标轴
# 极坐标参数设置
# 雷达图1 - 极坐标的折线图/填图 - plt.plot()
# 雷达图2 - 极坐标的折线图/填图 - plt.polar()
# 极轴图 - 极坐标的柱状图
'''
12,箱型图
箱型图:又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图
包含一组数据的:最大值、最小值、中位数、上四分位数(Q3)、下四分位数(Q1)、异常值
① 中位数 → 一组数据平均分成两份,中间的数
② 上四分位数Q1 → 是将序列平均分成四份,计算(n+1)/4与(n-1)/4两种,一般使用(n+1)/4
③ 下四分位数Q3 → 是将序列平均分成四份,计算(1+n)/4*3=6.75
④ 内限 → T形的盒须就是内限,最大值区间Q3+1.5IQR,最小值区间Q1-1.5IQR (IQR=Q3-Q1)
⑤ 外限 → T形的盒须就是内限,最大值区间Q3+3IQR,最小值区间Q1-3IQR (IQR=Q3-Q1)
⑥ 异常值 → 内限之外 - 中度异常,外限之外 - 极度异常
plt.plot.box(),plt.boxplot()
'''
# plt.plot.box()绘制
# plt.boxplot()绘制