python 画图工具——matplotlib命令式函数

1. 概述

Matplotlib是python的一个绘图库,是数据科学的的必备库,更是很多高级可视化库的底层基础,matplotlib与numpy、pandas被誉为数据科学三剑客。Python与matplotlib是替代matlab软件的免费方案,matplotlib.pyplot画图方式与matlab高度相似。

matplotlib的的使用方法有3种:

1.pylot API,直接调用pylot API函数,pylot API是一组命令样式函数,每个pylot函数对图形进行一些更改:例如,创建图形、在图形中创建绘图区域、在绘图区域中绘制一些线、使用标签装饰绘图等。这种工作方式类似于MATLAB。

2.面向对象式,Matplotlib的核心是面向对象的。如果需要对 plots 进行更多控制和自定义,建议直接使用对象。

3.pylab接口,官网强烈不建议使用。

本文介绍matplotlib的命令式使用方法实践,这种方法使用简单。

2. matplotlib的pylot API使用

matplotlib是第三方库,使用前需要先安装,安装方法与其他库一样,输入命令即可

pip install matplotlib

我们主要使用matplotlib.pyplot模块,通常导入时写

import matplotlib.pyplot as plt

,因此后续用plt指代matplotlib.pyplot模块

plt常用功能:

plt.plot() : 绘制折线图形;金融分析极其常用的图形

plt.scatter():绘制散点图;

plt.bar():绘制柱状图;

plt.show():图形显示;IDE,pycharm是一定要加这句话的;jupyter notebook中不用加也可以直接显示图形

plt.figure():类似画布,在figure上画图

plt.title():确定图片标题;

plt.xlabel():确定图片x轴的名字;

plt.legend():显示图例;

plt.grid(True):出现网格;

plt.subplot():绘制子图;

2.1简单图形画法

画折线图

import matplotlib.pyplot as plt

plt.plot([1,2,3,4,5],[3,5,6,2,4])
plt.show()

画散点图

import matplotlib.pyplot as plt

plt.scatter([1,2,3,4,5],[3,5,6,2,4])
plt.show()

画柱状图

import matplotlib.pyplot as plt

plt.bar([1,2,3,4,5],[3,5,6,2,4])
plt.show()

2.2 x轴y轴设置

plt.plot([1,2,3,4,5],[3,5,6,2,4])
plt.xlabel('data1') # 添加x轴标签
plt.ylabel('data2') # 添加y轴标签
plt.xlim(0,6) # x轴的数值显示范围
plt.ylim(0,8) # y轴的数值显示范围
plt.show()

2.3 图形常用参数

plt.plot([1,2,3,4],[2,4,6,8], c='r', ls='--',linewidth=1.0, label = 'Line')

c表示颜色常见的颜色为 ['r','y','g','b'] , linewidths为线宽, 线条风格linestyle或ls:

  • -:实线
  • --:虚线
  • -.:点划线
  • ::点线

label代表图例名称, 颜色和标记线可以联合使用,如:'r--','go-'

plt.plot([1,2,3,4],[2,4,6,8], 'r--',linewidth=1.0, label = 'Line')

2.4 设置坐标轴大小和标题

import numpy as np
l = np.arange(0, 5, 1)
plt.figure(figsize =(5,5))    #图像大小
plt.plot(l,2*l)
plt.title('picture1')
plt.show()

2.5 显示网格

l = np.arange(0, 5, 1)
plt.plot(l,l)
plt.title('picture1')
plt.grid(True)
plt.show()

2.6 一个坐标轴绘制多个图

import numpy as np
l = np.arange(0, 5, 1)
plt.figure(figsize =(5,5))    
plt.plot(l,l) # 画第一个图
plt.plot(l,2*l) # 画第二个图
plt.title('picture2')
plt.legend() #显示图例
plt.show()

2.7 画子图

import numpy as np
l = np.arange(0, 5, 1)
plt.figure(figsize=(8,6))
plt.subplot(2,1,1) # 子图,三个参数分别代表一共2行,一共1列,第1个子图
plt.plot(l,  label='1st')
plt.legend(loc=0)
plt.title('Sub Plot')

plt.subplot(212) # 子图,三个参数分别代表一行2个,一共1行,第2个子图
plt.plot(2*l, label='2nd')
plt.legend(loc=0)
plt.show()

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值