matplotlib之坐标轴对象简单设置(Axes)

本篇文章为笔者的学习笔记和心得,错漏之处请多多包含。

matplotlib是Python最著名的绘图库,它提供了一整套和MATLAB类似的绘图函数集,十分适合编写短小的脚本程序进行快速绘图。此外,matplotlib采用面向对象的技术来实现,因此组成图表的各个元素都是对象,在编写较大的应用程序时通过面向对象的方式使用matplotlib将更加有效。
1.1绘图前的准备:

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["font.sans-serif"]=["Simhei"]#设置默认字体
plt.rcParams["axes.unicode_minus"]=False#坐标轴正确显示正负号

导入必要的函数库,因为plt对象不支持中文,所以我们要在开始部分段设置中文字体,同时保证不会因为字体改变导致数学上的正负号改变。

1.2 Figure:

fig=plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

通俗的说,其实就是设置一个画板用做绘画。
num:画板编号或名称,名称不限于英文
figsize:指定figure的宽和高,单位为英寸,输入为元组
dpi参数指定绘图对象的分辨率
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框

1.3单独设置坐标轴对象:Axes

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.set(xlim=[-1, 1], ylim=[-1, 1], title='简单示例',
       ylabel='Y-Axis', xlabel='X-Axis')
plt.show()

 matplotlib之坐标轴对象简单设置(Axes)_第1张图片

 

ax = fig.add_subplot(num1,num2,num3)这个函数前面两个参数主要是说将整个fig(画板)对象划分为几行几列,最后一个参数是说将该坐标轴创建到第几个区域。
参考下面代码,将画板分为2*3=6块区域,在第五个区域创建坐标轴。

matplotlib之坐标轴对象简单设置(Axes)_第2张图片

通过fig.add_subplot方法我们可以逐一设置不同的坐标轴:例如:

ax1=fig.add_subplot(2,2,1)

ax2=fig.add_subplot(2,2,2)

ax3=fig.add_subplot(2,2,3)

这样设置坐标轴显得冗长繁杂,我们可以通过下面方法一次设置多个坐标轴

1.4设置多个坐标轴对象:Axes

fig, axes = plt.subplots(nrows=2, ncols=2)
axes[0,0].set(title='青龙')
axes[0,1].set(title='白虎')
axes[1,0].set(title='朱雀')
axes[1,1].set(title='玄武')

参数nrows和ncols为坐标轴的行数和列数
坐标轴被储存在一个一维数组中可以通过索引获取单个坐标轴

1.5逆转坐标轴

在有的学科如物理学中出于需要可以将坐标轴逆转,如下方法

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.set(xlim=[0, 5], ylim=[0, 5], title='简单示例',
       ylabel='Y-Axis', xlabel='X-Axis')
ax.invert_xaxis()
ax.invert_yaxis()
plt.show()
​

1.6设置数学中的坐标轴类型:

介绍了上述的坐标轴对象,很明显这些坐标轴样式不是很符合数学人的审美,我们可以通过如下方法改变条条框框的限制和位置,将坐标轴改变为自己喜欢的样式。

matplotlib之坐标轴对象简单设置(Axes)_第3张图片

你可能感兴趣的:(python,开发语言,后端,matplotlib)