引言:
在数据分析和可视化中,Matplotlib是一个非常强大的Python库。在Jupyter Notebook中使用Matplotlib可以快速绘制各种图形,并进行数据可视化分析。本文将介绍一些基本的Matplotlib画图语法,帮助你在Jupyter中更好地使用Matplotlib进行数据可视化。
一、Matplotlib图表的常用设置:
选择绘图函数——以plot函数(折线图)为例
绘图语法: plt.plot(x, y, color,linestyle,marker,format_string,..)
参数 | 作用 |
x | X轴数据,传入参数值时不要写参数名x |
y | Y轴数据,传入参数值时不要写参数名y |
color | 图形颜色,接收颜色英文名、颜色英文名首字母、十六进制颜色代码等 |
linestyle | 线条样式, '-'是实线, '--'是虚线,... |
marker | 点的样式,'*'是星号,'o'是圆点,… |
format_string | 可以通过一串字符控制图形样式,如'r--o'表示红色、虚线、圆点 |
设置画布:
画布类似画画时的画板,决定我们的图形大小,默认的画布为白色,看不见其边界
语法:plot.figure(figsize,...)
figsize:接收元组(a,b),a表示画布的长,b表示画布的高
设置坐标轴:
坐标轴分为x轴和y轴,其内容包括坐标轴标题、刻度、范围和网格线。
Matplotlib库中通过不同函数控制以上坐标轴的设置。
函数名 | 传入参数及其作用 |
plt.xlabel() | 传入一个字符串,表示x轴的名称(标签) |
plt.ylabel() | 传入一个字符串,表示y轴的名称(标签) |
plt.xticks() | 传入一个列表,表示x轴的各个刻度的值(刻度为类别型数据时使用) |
plt.yticks() | 传入一个列表,表示y轴的各个刻度的值(刻度为类别型数据时使用) |
plt.xlim() | 传入一个列表或是两个数,表示x轴的取值范围(刻度为数字型数据时使用) |
plt.ylim() | 传入一个列表或是两个数,表示y轴的取值范围(刻度为数字型数据时使用) |
plt.grid() | 不需要传入参数,使直角坐标系显示网格 |
添加文本标签:
可以在画布中任意位置一次性添加一个文本信息
语法: plot.text(x,y,s,ha,va,fontsize,color,...)
参数 | 作用 |
x | 输入一个x轴的值(数字或字符),表示要插入文本的x坐标 |
y | 输入一个y轴的值(数字或字符),表示要插入文本的y坐标 |
s | 要插入的文本字符串 |
ha | 水平对齐方式, 'center\'left'\'right' |
va | 垂直对齐方式, 'center'\'top'\'bottom' |
fontsize | 字体大小,传入一个数字 |
color | 文本字体颜色 |
设置标题和图例:
标题显示在画布和图表的正上方。图例一般显示在图表角落,用于描述数据的含义
显示标题语法:plot.title(‘标题’)
显示图例语法:plot.legend(‘数据标签’,loc,fontsize,..)
loc参数:决定图例的位置,如“upper right”表示右上方
二、
1.导入Matplotlib库:
import matplotlib.pyplot as plt #导入matplotlib.pyplot模块
2.绘制折线图:
要绘制折线图,可以使用plot函数,传入横轴和纵轴的数据,然后使用show函数显示图形,如下所示:
x = [1, 2, 3, 4]
#这行代码创建了一个名为x的列表,其中包含四个整数:1、2、3和4。
y = [5, 7, 2, 8]
#这行代码创建了一个名为y的列表,其中包含四个整数:5、7、2和8。
plt.plot(x, y)
#这行代码使用plot函数来绘制一个线图。它将x和y作为输入参数,绘制从(x[0], y[0])到(x[1], y[1]),再#到(x[2], y[2]),最后到(x[3], y[3])的线段。
plt.show()
#这行代码使用show函数来显示图形。如果不调用show()函数,图形可能不会立即显示,而是会在调用另一个函#数或方法时显示。
实例截图:
3.绘制散点图
要绘制散点图,可以使用scatter函数,传入横轴和纵轴的数据,然后使用show函数显示图形,如下所示:
x = [1, 2, 3, 4]
y = [5, 7, 2, 8]
plt.scatter(x, y)
#用于绘制散点图。这个函数接受两个参数:x 和 y,分别表示散点的 x 坐标和 y 坐标。
plt.show()
实例截图:
4.设置标题和坐标轴标签
可以使用title函数设置图形的标题,xlabel函数设置横轴标签,ylabel函数设置纵轴标签,如下所示:
plt.rcParams['font.family'] = 'SimHei'# 解决中文乱码
x = [1, 2, 3, 4]
y = [5, 7, 2, 8]
plt.plot(x, y)
plt.title("折线图")
#这行代码设置了图的标题为“折线图”。
plt.xlabel("横轴")
#这行代码设置了x轴的标签为“横轴”。
plt.ylabel("纵轴")
#这行代码设置了y轴的标签为“纵轴”。
plt.show()
实例截图:
注:如若没有以下代码则会出现下面那种中文不显示的情况
plt.rcParams['font.family'] = 'SimHei'
5.设置图例
如果有多个数据系列绘制在同一个图中,可以使用legend函数设置图例,将不同数据系列对应的标签显示在图中,如下所示:
plt.rcParams['font.family'] = 'SimHei'
x = [1, 2, 3, 4]
y1 = [5, 7, 2, 8]
y2 = [3, 4, 6, 9]
plt.plot(x, y1, label="数据1")
#这行代码使用plot函数绘制第一条折线图。它将x和y1作为输入参数,并设置标签为“数据1”。
plt.plot(x, y2, label="数据2")
#这行代码使用plot函数绘制第二条折线图。它将x和y2作为输入参数,并设置标签为“数据2”。
plt.legend()
#这行代码显示图例,以便于区分两条折线图。
plt.show()
实例截图:
总结:
通过以上简单的示例,你可以在Jupyter中使用Matplotlib进行各种图形的绘制。当然,Matplotlib还有更多强大的功能和用法,你可以进一步学习和探索。希望本文对你在Jupyter中使用Matplotlib进行数据可视化有所帮助。