Python数据可视化神器:Matplotlib绘图详解(一)

本教程来源于莫烦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。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180928G0RF0K00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券