Matplotlib 系列之「绘制函数图像」

matplotlib 是 python 最著名的绘图库,它提供了一整套和 matlab 相似的命令 API,十分适合交互式进行绘图。

它的文档相当完备,并且 Gallery 页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。

这是要实现的效果图,利用 Matplotlib 绘制函数 y = x^2^ 的图像。

Matplotlib 系列之「绘制函数图像」

image

代码实现

import matplotlib.pyplot as plt

import numpy as np

# 定义 x 变量的范围 (-3,3) 数量 50

x=np.linspace(-3,3,50)

y=x**2

# Figure 并指定大小

plt.figure(num=3,figsize=(8,5))

# 绘制 y=x^2 的图像,设置 color 为 red,线宽度是 1,线的样式是 --

plt.plot(x,y,color='red',linewidth=1.0,linestyle='--')

# 设置 x,y 轴的范围以及 label 标注

plt.xlim(-1,2)

plt.ylim(-2,3)

plt.xlabel('x')

plt.ylabel('y')

# 设置坐标轴刻度线

# Tick X 范围 (-1,2) Tick Label(-1,-0.25,0.5,1.25,2) 刻度数量 5 个

new_ticks=np.linspace(-1,2,5)

plt.xticks(new_ticks)

# Tick Y 范围(-2.2,-1,1,1.5,2.4) ,Tick Label (-2.2, -1, 1, 1.5, 2.4) 别名(下面的英文)

plt.yticks([-2.2,-1,1,1.5,2.4],

[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$'])

# 设置坐标轴 gca() 获取坐标轴信息

ax=plt.gca()

# 使用.spines设置边框:x轴;将右边颜色设置为 none。

# 使用.set_position设置边框位置:y=0的位置;(位置所有属性:outward,axes,data)

ax.spines['right'].set_color('none')

ax.spines['top'].set_color('none')

# 移动坐标轴

# 将 bottom 即是 x 坐标轴设置到 y=0 的位置。

ax.xaxis.set_ticks_position('bottom')

ax.spines['bottom'].set_position(('data',0))

# 将 left 即是 y 坐标轴设置到 x=0 的位置。

ax.yaxis.set_ticks_position('left')

ax.spines['left'].set_position(('data',0))

# 设置标签

ax.set_title('y = x^2',fontsize=14,color='r')

# 显示图像

plt.show()

首先一幅 Matplotlib 的图像组成部分介绍。

Matplotlib 系列之「绘制函数图像」

image

基本构成

在 matplotlib 中,整个图像为一个 Figure 对象。在 Figure 对象中可以包含一个或者多个 Axes 对象。每个 Axes(ax) 对象都是一个拥有自己坐标系统的绘图区域。

所属关系如下(图片来自网络):

Matplotlib 系列之「绘制函数图像」

image

图上:Title 为图像标题,Axis 为坐标轴, Label 为坐标轴标注,Tick 为刻度线,Tick Label 为刻度注释。

各个对象关系可以梳理成以下内容(图片来自网络):

Matplotlib 系列之「绘制函数图像」

image

Matplotlib 绘图步骤分析

Matplotlib 系列之「绘制函数图像」

image

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值