matplotlib添加子图(拼图功能)

摘要:
我们已经知道matplotlib是python中非常有用的绘图库,在前面的文章中可以找到它的简单用法。如果一张又一张图片的绘制速度太慢,并且我们不想在同一张画布上绘制,那么我们可以使用拼图功能。我没有时间解释。我直接去看代码。

  我们已经知道,matplotlib是python中的一个十分好用的作图库,它的简单的使用方法可以在之前的随笔中找到。传送门:https://www.cnblogs.com/chester-cs/p/11879444.html

  之前没有涉及到的是一个用途十分广泛的功能:子图(拼图功能),想象我们有四个对比曲线图,是一个问题不同的算法实现结果。假如一个图接一个图画的画太拖沓,我们又不想一上来就画在同一个画布上,那么这时我们就可以使用拼图功能。

  没时间解释了,直接上代码。以四种排序算法的运行时间曲线为例:

fig = plt.figure()    # 生成新的画布fig
fig.set_size_inches(18.5, 10.5)     # 调整画布为合适大小

ax1 = fig.add_subplot(221)    # 关键点,我们考虑在画布中加入一个一个的子图,(221这种排列的含义不必多解释了吧)
plt.plot(Size,INSERTSORT_Mean,'b')
plt.plot(Size,INSERTSORT_Mean,'ro')
plt.grid()    # 画网格
plt.xlabel("Data Size")
plt.ylabel("Time Cost /s")
plt.title("INSERTSORT Timecost Mean")    # 加上标题

ax2 = fig.add_subplot(222) 
plt.plot(Size,MERGE_SORT_Mean,'b')
plt.plot(Size,MERGE_SORT_Mean,'ro')
plt.grid()
plt.xlabel("Data Size")
plt.ylabel("Time Cost /s")
plt.title("MERGESORT Timecost Mean")

ax3 = fig.add_subplot(223) 
plt.plot(Size,HEAPSORT_Mean,'b')
plt.plot(Size,HEAPSORT_Mean,'ro')
plt.grid()
plt.xlabel("Data Size")
plt.ylabel("Time Cost /s")
plt.title("HEAPSORT Timecost Mean")

ax4 = fig.add_subplot(224) 
plt.plot(Size,QUICKSORT_Mean,'b')
plt.plot(Size,QUICKSORT_Mean,'ro')
plt.grid()
plt.xlabel("Data Size")
plt.ylabel("Time Cost /s")
plt.title("QUICKSORT Timecost Mean")  

  效果是这样的:matplotlib添加子图(拼图功能)第1张

   上面一大串代码,但关键点很少:

  1. 生成一个独立的画布对象,不影响其他模块
  2. 在画布上一个一个的添加子图对象(subplot)
  3. 每次添加新的子图,画笔就会移动到新的子图上

  只要遵循以上的步骤,就能实现作图的拼接了~

免责声明:文章转载自《matplotlib添加子图(拼图功能)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu 安装mysqlnginx配合IIS实现简单负载均衡下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python安装matplotlib:python -m pip install matplotlib报错

matplotlib是python中强大的画图模块。 首先确保已经安装python,然后用pip来安装matplotlib模块。 进入到cmd窗口下,建议执行python -m pip install -U pip setuptools进行升级。 接着键入python -m pip install matplotlib进行自动的安装,系统会自动下载安...

Mac下使用Matplotlib无法显示中文的解决办法

参考:matplotlib图例中文乱码? - 知乎用户的回答 - 知乎 https://www.zhihu.com/question/25404709/answer/309784195 1、下载字体安装包(需要直接的文件的,可以底下回复我) 2、解压之后在系统当中安装好,我的是Mac,打开字体册就可以安装了 3、找到matplotlib字体文件夹,例如:...

hello-R

#print start { #1:3 isarray for(i in 1:3) { print(1:i) } } #print end #if start{ x<- 1 if(x==1) print(x) elseprint("not eq 1") }...

MATLAB绘图

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,...

R语言学习——图形初阶之折线图与图形参数控制

plot()是R中为对象作图的一个泛型函数(它的输出将根据所绘制对象类型的不同而变化);plot(x,y,type="b")表示将x置于横轴,y置于纵轴,绘制点集(x,y),然后使用线段将其连接;type="b"表示同时绘制点和线,使用help(plot)可以查看其它选项。 实例: > dev.new() # 打开一个新的图形窗口NULL> d...

matlab绘图方法汇总

Matlab画图 强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层画图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一...