本教程来源于莫烦PYTHON
为什么使用 Matplotlib?
Matplotlib 是一个非常强大的 Python 画图工具,可以帮助我们以直观的形式更好地了解数据。通过它,你可以画出线图、散点图、等高线图; 条形图、柱状图、3D 图形甚至是图形动画等等。下面是一些图例:
Matplotlib 安装
在不同环境下,Matplotlib的安装方式各不相同。在Kesci平台K-Lab上使用Matplotlib的小伙伴们可以免去安装的过程,因为Kesic内置了100+各语言数据分析工具包,我们可以直接调用。
基本用法
本章知识点归纳如下:
导入模块:import matplotlib.pyplot as plt
定义图像窗口:plt.figure()
画图:plt.plot(x, y)
定义坐标轴范围:plt.xlim()/plt.ylim()
定义坐标轴名称:plt.xlabel()/plt.ylabel()
定义坐标轴刻度及名称:plt.xticks()/plt.yticks()
设置图像边框颜色:ax = plt.gca() ax.spines[].set_color()
调整刻度位置:ax.xaxis.set_ticks_position()/ax.yaxis.set_ticks_position()
调整边框(坐标轴)位置:ax.spines[].set_position()
导入模块
使用import导入模块matplotlib.pyplot,并简写成plt;使用import导入模块numpy,并简写成np
然后创建两组数据,使用np.linspace定义x:范围是(-3,3),个数是50,将产生一组(-3,3)内均匀分布的50个数;(x,y1)表示曲线1,(x,y2)表示曲线2。
定义图像窗口并画图
在画图前使用plt.figure()定义一个图像窗口:编号为3;大小为(8, 5);这两项参数可缺省。
其中,num参数决定了程序运行后弹出的图像窗口名字,但在klab平台下不会显示。
接着,我们使用plt.plot画出(x ,y2)曲线;使用plt.plot画(x ,y1)曲线,曲线的颜色属性(color)为红色;曲线的宽度(linewidth)为1.0;曲线的类型(linestyle)为虚线,除了虚线外,大家还可使用以下线性:'-'、'--'、'-.'、':' 。
接着,我们使用plt.show()显示图像。
定义坐标轴名称及范围
使用plt.xlim设置x坐标轴范围:(-1, 2); 使用plt.ylim设置y坐标轴范围:(-2, 3); 使用plt.xlabel设置x坐标轴名称:’I am x’; 使用plt.ylabel设置y坐标轴名称:’I am y’;
定义坐标轴刻度及名称
有时候,我们的坐标轴刻度可能并不是一连串的数字,而是一些文字,或者我们想要调整坐标轴的刻度的稀疏,这时,就需要使用plt.xticks()或者plt.yticks()来进行调整:
首先,使用np.linspace定义新刻度范围以及个数:范围是(-1,2);个数是5。
使用plt.xticks设置x轴刻度:范围是(-1,2);个数是5。
使用plt.yticks设置y轴刻度以及名称:刻度为[-2, -1.8, -1, 1.22, 3];对应刻度的名称为[‘really bad’,’bad’,’normal’,’good’, ‘really good’]。
使用plt.show()显示图像。
[-1. -0.25 0.5 1.25 2. ]
设置图像边框颜色
细心的小伙伴可能会注意到,我们的图像坐标轴总是由上下左右四条线组成,我们也可以对它们进行修改:
首先,使用plt.gca()获取当前坐标轴信息。
使用.spines设置边框:右侧边框;
使用.set_color设置边框颜色:默认白色;
使用.spines设置边框:上边框;
使用.set_color设置边框颜色:默认白色;
调整刻度及边框位置
使用.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:bottom.(所有位置:top,bottom,both,default,none);
使用.spines设置边框:x轴;使用.set_position设置边框位置:y=0的位置;(位置所有属性:outward,axes,data)
使用.yaxis.set_ticks_position设置y坐标刻度数字或名称的位置:left.(所有位置:left,right,both,default,none)
使用.spines设置边框:y轴;使用.set_position设置边框位置:x=0的位置;(位置所有属性:outward,axes,data) 使用plt.show显示图像
小伙伴们,以上就是matplotlib的基本用法,是不是比较简单呢?
现在,请根据上述所学内容,画出直线 y = x-1, 线型为虚线,线宽为1,纵坐标范围(-2,1),横坐标范围(-1,2),横纵坐标在(0,0)坐标点相交。横坐标的 [-1,-0.5,1] 分别对应 [bad, normal, good]。
答案将于下一帖中放出,请大家自己先做尝试哦~
更好的阅读及实践体验在kesci.com。
领取专属 10元无门槛券
私享最新 技术干货