Matplotlib使用笔记----图像及布局
程序员文章站
2022-03-19 22:18:10
...
1. figure
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
- num:图像编号或名称,数字为编号 ,字符串为名称
- figsize:指定figure的宽和高,单位为英寸;
- dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
- facecolor:背景颜色
- edgecolor:边框颜色
- frameon:是否显示边框
import matplotlib.pyplot as plt
创建自定义图像
fig=plt.figure(figsize=(4,3),facecolor='blue')
plt.show()
2. subplot
subplot(nrows, ncols, sharex, sharey, subplot_kw, **fig_kw)- nrows:subplot的行数
- ncols:subplot的列数
- sharex:所有subplot应该使用相同的X轴刻度(调节xlim会影响所有subplot)
- sharey:所有subplot应该使用相同的Y轴刻度(调节ylim会影响所有subplot)
- subplot_kw:用于创建各subplot的关键字字典
- **fig_kw:创建figure时的其他关键字
subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#作图1
plt.subplot(221)
plt.plot(x, x)
#作图2
plt.subplot(222)
plt.plot(x, -x)
#作图3
plt.subplot(223)
plt.plot(x, x ** 2)
plt.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作图4
plt.subplot(224)
plt.plot(x, np.log(x))
plt.show()
3. subplots
subplots(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)
参数与subplot相似,只是返回值不同,可同时创建多个子图
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#划分子图
fig,axes=plt.subplots(2,2)
ax1=axes[0,0]
ax2=axes[0,1]
ax3=axes[1,0]
ax4=axes[1,1]
#作图1
ax1.plot(x, x)
#作图2
ax2.plot(x, -x)
#作图3
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#作图4
ax4.plot(x, np.log(x))
plt.show()
4. add_subplots
add_subplot的参数与subplots的相似,新增子图
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 100)
#新建figure对象
fig=plt.figure()
#新建子图1
ax1=fig.add_subplot(2,2,1)
ax1.plot(x, x)
#新建子图3
ax3=fig.add_subplot(2,2,3)
ax3.plot(x, x ** 2)
ax3.grid(color='r', linestyle='--', linewidth=1,alpha=0.3)
#新建子图4
ax4=fig.add_subplot(2,2,4)
ax4.plot(x, np.log(x))
plt.show()
5. add_axes
add_axes(rect, projection, polar, **kwargs)- rect:一个有四个数据的矩形[left, bottom, width, height]
- projection:可选轴的投影类型,[‘aitoff’ | ‘hammer’ | ‘lambert’ | ‘mollweide’ | ‘polar’ | ‘rectilinear’]
- polar:bool类型,当为True时相当于projection='palar'
add_axes为新增子区域,该区域可以座落在figure内任意位置,且该区域可任意设置大小
import numpy as np
import matplotlib.pyplot as plt
#新建figure
fig = plt.figure()
# 定义数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]
#新建区域ax1
#figure的百分比,从figure 10%的位置开始绘制, 宽高是figure的80%
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
# 获得绘制的句柄
ax1 = fig.add_axes([left, bottom, width, height])
ax1.plot(x, y, 'r')
ax1.set_title('area1')
#新增区域ax2,嵌套在ax1内
left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
# 获得绘制的句柄
ax2 = fig.add_axes([left, bottom, width, height])
ax2.plot(x,y, 'b')
ax2.set_title('area2')
plt.show()
推荐阅读
-
Python中函数参数设置及使用的学习笔记
-
Python学习笔记--使用matplotlib绘制饼状图
-
PHP图像裁剪缩略裁切类源码及使用方法
-
华硕笔记本外接键盘无法使用的原因及解决方法
-
在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
-
Vue学习笔记进阶篇之vue-router安装及使用方法
-
JavaWeb笔记13-JDBC原理及使用Statement访问数据库
-
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
-
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
-
Python学习笔记——主要函数及基本使用(与C的对比)