matplotlib基本操作,matplotlib高级玩法

  matplotlib基本操作,matplotlib高级玩法

  在的第一篇博文中

  什么是Plotlib?Matplotlib是一个全面的库,用于在Python中创建静态、动画和交互式视觉图像。

  目前(6月22日)最新稳定版本是3.5.2。

  安装:使用pip安装。

  pip安装matplotlib

  要快速入门,我们需要先导入matplotlib。

  将matplotlib作为mpl导入

  将matplotlib.pyplot作为plt导入

  Import numpy as np #以numpy为例生成数据。

  Matplotlib在图形(如窗口、Jupyter小部件等)上绘制数据。),它可以包含一个或多个轴。

  轴是一个绘图区域,可以根据x-y坐标(或极坐标中的-r,3D中的x-y-z等)指定点。).创建带轴的图形最简单的方法是使用pyplot.subplots,然后我们可以使用Axes.plot在轴上绘制一些数据:

  x=[1,2,3,4]

  y=[1,4,3,2]

  Fig,ax=plt.subplots() #创建一个图形FIG,默认包含一个轴。

  Ax.plot(x,y) #绘制x-y的线图。

  Plt.show() #显示绘制的图表。请注意,如果使用save保存图片,需要在放映前保存。

  运行后,将显示折线图:

  图形的结构一个图形有以下几个部分:标题、图例、X轴和Y轴标签(xlabel、ylabel)等。

  下面逐一介绍。

  塑造一个完整的形象。这个图跟踪所有的轴——一组“特殊”的绘画(标题、图例、颜色条等)。),甚至嵌套子图。

  创建新图表的最简单方法是使用pyplot:

  Fig=plt.figure() #空图,无轴

  Fig,ax=plt.subplots() #有1个轴

  Fig,axs=plt.subplots(2,2) #有2x2(两行两列)轴。

  通常,使用图形创建轴很方便,但也可以在以后手动添加轴。

  轴域轴域(轴)附着在图形上,包含用于绘制数据的图形。

  一般来说,有两个轴对象。两个轴分别提供刻度和刻度标签,以便为轴中的数据提供刻度。每个轴字段还有一个标题(由set_title()设置)、一个X标签(由set_xlabel()设置)和一个Y标签(由set_ylabel()设置)。

  Axes类及其成员函数是使用OOP接口的主要入口点,大部分绘图方法都是在上面定义的(比如如上图,使用plot方法)ax.plot()

  轴轴轴设置比例和限制,并生成比例(轴上的刻度、标记)和比例标签(刻度标签、用于标记比例的字符串)。记号位置由定位器确定,记号标签字符串由格式化程序设置。正确的定位器和格式器的组合可以非常精细地控制秤的位置和标签。

  ArtistArtist在这里翻译为艺术家或画家。

  基本上,图形上可见的一切都是艺术家(甚至图形、轴字段和轴对象)。这包括文本、Line2D、集合、补丁等。在渲染图形时,所有的艺术家都会被绘制在画布上。大多数艺术家都与轴心领域有关;这样的艺术家不能被多个轴共享,也不能从一个轴移动到另一个轴。

  绘图函数的输入数据类型绘图函数接收numpy.array或numpy.ma.masked_array作为输入,或者可以传递给numpy.asarray Pandas data或numpy.matrix的数据可能无法正常工作。常见的约定是在绘制之前将数据转换为numpy.array。例如:

  b=np.matrix([[1,2],[3,4]])

  B_asarray=np.asarray(b) #使用np.asarray()将其转换为np.array类型

  大多数方法也可以解析可寻址对象,如dict、np.recarray或pandas。数据帧

  Matplotlib允许使用关键字参数来生成图像,并传递对应于x和y的字符串。

  np.random.seed(19680801) #种子随机数生成器。

  data={a: np.arange(50),

  c: np.random.randint(0,50,50),

  d: np.random.randn(50)}

  data[ b ]=data[ a ]10 * NP . random . randn(50)

  data[ d ]=NP . ABS(data[ d ])* 100

  Fig,axes=plt.subplots(2,1) # fig有2行1列子图,存储在axes数组(np.array类型)中。

  ax=轴[0]

  ax.scatter(a , b ,c=c ,s=d ,data=data)

  ax.set_xlabel(条目a )

  ax.set_ylabel(条目b )

  #轴域2,删除颜色C和形状S参数。

  ax2=轴[1]

  ax2.scatter(a , b ,data=data)

  plt.show()

  画出来的图,第二张是去掉s,c参数后的图像:

  编码风格面向对象(OO)和pyplot函数接口。使用Matplotlib基本上有两种方法:

  显式地创建“图形”和“轴”,并在它们上面调用方法(“OO”风格)。通过pyplot自动创建和管理图形和轴,并使用pyplot函数进行绘制。用OO风格(我觉得OO风格更好,就设置在Axes对象上,很清楚):

  X=np.linspace(0,2,100) #生成一些数据

  #使用OO风格,首先生成两个对象图和轴字段(fig,ax)

  fig,ax=plt.subplots(figsize=(5,2.7),layout=constrained )

  #调用ax对象的方法

  ax.plot(x,x,label=linear) #在轴上绘制一些数据。

  ax.plot(x,x**2,label=quadratic) #在坐标轴上绘制更多数据.

  ax.plot(x,x**3,label=cubic) #.还有一些。

  ax.set_xlabel(x label) #向坐标轴添加x标签。

  ax.set_ylabel(y label) #向轴添加y标签。

  ax.set_title(Simple Plot) #为轴添加标题。

  ax.legend() #添加图例。

  plt.show()图例。

  或者使用pyplot函数样式:

  x=np.linspace(0,2,100) #样本数据。

  plt.figure(figsize=(5,2.7),layout=constrained )

  plt.plot(x,x,label=linear) #在(隐式)轴上绘制一些数据。

  plt.plot(x,x**2,label=quadratic) #等等。

  plt.plot(x,x**3,label=立方)

  plt.xlabel(x标签)

  plt.ylabel(y标签)

  plt.title(“简单情节”)

  PLT . legend();

  (此外,还有第三种在GUI应用程序中嵌入Matplotlib的方法,甚至用于图形创建。详情请参考库中相应章节:在图形用户界面中嵌入Matplotlib。

  常用绘图类型从官网首页进入剧情类型,可以看到不同类型的常用绘图是如何绘制的。

  可以看到,常见的折线图、散点图、直方图等。点击相应的图进入相应的案例。

  主要用法基本就是这样,下次再讲一些后期的风格调整。

  参考:matplotlib文档—matplotlib 3.5.2文档

  https://matplotlib.org/stable/index.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: