目录
一.Matplotlib介绍安装
Matplotlib介绍
作用
Matplotlib安装
二.使用Matplotlib绘制基本图形
1.折线图
折线图绘制
折线图特点
2.plt基本方法——图形的基本设置
方法
中文显示问题及负数显示
使用Jupyter的plt.show()不直接显示图像问题
添加注释文本
3. 条形图
条形图绘制
条形图特点
4.饼图
饼图绘制
饼图特点
5.直方图
直方图绘制
直方图特点
6.箱线图
绘制箱线图
箱线图特点
7.散点图
散点图绘制
散点图特点
8.雷达图
绘制雷达图
雷达图特点
Matplotlib是一个Python的基本绘图库,它可以和Numpy一起使用。代替Matlab的一些功能。
1.将数据进行可视化,使数据更直观;
2.使数据更加更具有说服力;
由于Matplotlib是第三方库,所以我们需要安装它才可以使用。
安装命令:pip install matplotlib
安装参考:Installation — Matplotlib 3.5.2 documentationhttps://matplotlib.org/stable/users/installing/index.html
方法:plot()函数
plt.plot(x,y)——默认的线样式及颜色绘制x,y构建的图形
实例:
参数:
(1)color 设置线的颜色;
(2)linestyle 设置线的样式;
(3)marker 标记样式;
(4)markerfacecolor 标记样式的颜色;
(5)markersize 标记样式的大小;
样式表:
等......
实例:
能够显示数据的变化趋势,反应事物的变化情况。
方法 |
描述 |
plt.figure(figure=None,dpi=None) | 生成新的图片,figsize:图片大小,dpi:透明度 |
plt.savefig(fname) | 保存图片 |
plt.xticks(ticks=None) | 设置x轴刻度的值 |
plt.yticks(ticks=None) | 设置y轴刻度的值 |
plt.xlabel(xlabel) | 设置x轴标签 |
plt.ylabel(ylabel) | 设置y轴标签 |
plt.title() | 设置图标题 |
plt.grid() | 根据x轴和y轴的数值展示轴网络 |
实例:
当我们要设置轴标签,标题等,通常会使用中文,但是,我们的Matplotlib默认不会显示中文。
方法一:
import matplotlib
font = {
'family':'SimHei',
'weight':'bold',
'size':12
}
matplotlib.rc("font", **font)
方法二:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False # 步骤二(解决坐标轴负数的负号显示问题)
方法三:
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
x = [1,2,3,4]
y = [3,2,1,3]
plt.plot(x,y)
plt.xlabel("x轴标签",fontproperties=font)
plt.show()
当我们使用Jupyter来使用Matplotlib绘制图形时,一般会自动显示图形,但由于有些Python的版本问题,我们需要进行一些设置,否则会出现这样的情况:
在导包的时候引入配置项:
方法一:
import matplotlib
matplotlib.use('TkAgg') # 在一个新窗口打开图形
方法二:
%matplotlib inline # 推荐使用:正常显示
plt.annotate() 基本使用
(1)text 要注释的文本;
(2)xy 需要注释点的坐标;
(3)xytext 注释文本的坐标;
(4)arrowprops 是箭头的样式属性;
方法:bar()函数;
plt.bar(x, height) # 绘制以x为x轴位置,height为y轴位置的竖型条形图;
实例:
plt.barh(y,width) # 绘制以y为y轴位置,weight为x轴位置的水平条形图;
实例:
(1)能够使人们一眼看出各个数据的大小;
(2)易于比较数据之间的区别;
方法:pie()函数;
plt.axes(aspect='equal') # 保住饼图是圆 不是默认椭圆
plt.pie(x) # 绘制饼图
参数:
(1)x 饼图的数据;
(2)label 数据的标签名称;
(3)autopct 百分比数据标签;
(4)colors 设置自定义颜色;
(5)redius 设置饼图半径;
(6)center 设置原点;
(7)labeldistance 标签与圆心距离;
(8)textprops 设置文本标签的属性值;
(9)pctdistance 占比和图的距离;
(10)explode 设置分块突出某数据;
(11)shadow 设置阴影;
等......
plt.pie()有三个返回值
(1)patches 绘制饼图每一块的对象;
(2)texts 文本的列表;
(3)autotexts 百分比的文本列表;
实例:
通常用来描述量、频率和百分比之间的关系。在饼图中,每个扇区的弧长大小为其所表示的数量的比例。
方法:hist()函数
plt.hist(x,bins=None) #绘制以x为数值,bins为组数
返回值:
(1) nums 每个区间值出现的个数
(2) bins 区间的值
(3)patches 每根柱子的对象
实例:
绘制连续性的数据,展示一组或多组数据的分布情况。
方法:boxplot()函数;
plt.boxplot()
参数
(1)x:需要绘制的箱线图的数据;
(2)notch:是否展示置信区间 默认为False;
(3)sym:代表异常点的符号表示 默认为原点;
(4)vert:是否是垂直的 默认是True;
(5)whis:上下限系数 默认为1.5;
(6)positions:设置每个盒子的宽度;
(7)widths:设置每个盒子的宽度;
(8)labels:每个盒子的label;
(9)meanline和showmean:都为True的时候会展示平均线;
实例:
箱线图是一种直观简洁的方式去呈现一组数据的分布。箱线图广泛用于各种数据分析领域,它能非常简单明了地显示一组数据中5个重要的数值,并且还能发现一组数据中存在的异常值。
方法:scatter()函数;
plt.scatter(x,y) # 以默认的形状颜色等绘制散点图;
实例:
判断两变量之间是否存在某种关联或总结坐标点的分布模式,判断变量之间是否存在某种关联或总结坐标点的分布模式。
方法:polar()函数;
绘制雷达图的参数与plt.plot()(折线图)非常相似,只不过是x轴的坐标点应该为弧度(2*PI=360度)。
实例:
注意:
(1)因为 polar 并不会完成线条闭合绘制,所以我们在绘制的时候需要在 theta 和 values 中最后多重复添加第0个位置的值,然后在绘制的时候就可以和第一个点进行闭合了。
(2)polar 只是绘制线条,所以想要把里面进行颜色填充,那么需要调用 fill 函数的实现。
(3)polar 默认的圆圈坐标是角度,如果我们想要改成文字显示,那么可以通过 xticks来设置。
雷达图又被叫做蜘蛛网图,适用于显示三个或更多维度的变量的强弱情况。比如某个企业在哪些业务方面的投入等,都可以用雷达图方便的表示。