python plt 图例,python plt.plot画图

  python plt 图例,python plt.plot画图

  Contour和contourf都绘制三维等值线图。下面文章主要介绍python制图的基本操作plt.contour的相关信息。通过示例代码非常详细的介绍,有需要的朋友可以参考一下。

  00-1010前言补充示例plt.contour()函数本身的plt.contour()图中的坐标:plt.contour的等高线绘制概要。

  

目录

 

  Plt.contour是python中用来画等高线的函数。下面简单介绍一下plt.contour的使用方法。

  

前言

 

  将numpy作为np导入

  将matplotlib.pyplot作为plt导入

  X=np.linspace(-3,3,50) #生成连续数据

  Y=np.linspace(-3,3,50) #生成连续数据

  x,Y=np.meshgrid(x,Y)

  #生成一个可以在坐标系中形成格子的数组。这个可以参考其他文章。

  # https://lixiaoqian.blog.csdn.net/article/details/81532855在这里更详细。

  Z=X**2 Y**2 #在这里,将高度设置为x^2 y^2,就可以画出一条圆形的轮廓线了。

  C=plt.contour(X,Y,Z,[2,5,8,10]) #画等高线#用plt也可以。Contour (x,y,z,[2,5,8,10])。

  plt.clabel(C,inline=True,fontsize=10)

  绘画的效果是:

  

使用示例

 

  plt.contour(X,Y,Z,[水平],**kwargs)

  Plt为matplotlib.pyplotx,Y表示坐标位置(此处可选,但如果不导入,则为python根据导入的高度数组(Z)的大小自动生成的坐标)。一般会用到很多二维数组,但其实一维数组也可以。z代表每个坐标对应的高度值,是一个二维数组,其中每个值代表每个坐标对应的高度XYZ。实际数据构成请参考上面的例子。一个是传入一个整数,表示要画的等高线的个数。但显示的结果可能与传入的整数个数不完全相同,但大致相同的数(可能相差一两)(为什么是近似数?可能python默认帮你生成了一些合适的等高线)。另一种方法是传入一个包含高度值的一维数组,这样python就会画出与传入的高度值对应的等高线。其余参数cmap、线宽、线型等。这里就不介绍了。

  

plt.contour()函数本身

 

  因为一开始这里有混乱,所以这里对坐标表示的内容做一个解释。要解释这个问题,可以先引入实际问题,比如一座山。一般来说,如果你从飞机上或从高处看这座山,你会发现这座山就像一个圆形。如果抽象成平面,就会变成圆形(这里指的是比较规则的山)。然后,其实轮廓线是从这么高的地方想象出来的。通过一系列工具,在一个平面上标注出相同的高度位置,用线将相同的高度位置连接起来,形成等高线。

  如果把刚才提到的圆放到坐标系中,那么某个坐标(x,y)就代表了山在平面视图中的观察位置,如下图所示:

  假设左边有一座山,从平面上看,山上的红点就成了坐标系中的一个位置。这个时候,高度是无法在等高线图上体现出来的,这也是等高线图需要标注高度值的原因。

  这里结合立体图会更直观:上面的圆形等高线图的高度会用立体图显示出来,使用的代码是:

  从matplotlib导入pyplot作为plt

  从mpl_toolkits.mplot3d导入Axes3D

  将numpy作为np导入

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

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

  x,Y=np.meshgrid(x,Y)

  Z=X**2 Y**2

  C=plt.conto

  ur(x, y,Z,[2,5,8,10])

  plt.clabel(C, inline=True, fontsize=10)

  fig=plt.figure()

  fig = plt.figure(figsize=(10,10))

  ax1 = plt.axes(projection=3d)

  ax1.scatter3D(X,Y,z, cmap=Blues)

  

  效果如下:

  

 

  图中X,Y,Z都分别被转换为了三维坐标系中的坐标,形成了一个类似球形的一个部分的高度图。Z轴就是每个点对应的高度值,这里试想如果把整张图从最顶部投下到xy二维坐标系中,如果取开始的某几个固定的高度值(如2,5,8),那么这几个固定的高度值所对应的坐标在二维坐标系中连起来的话就成为了一条等高线。

  这里可以多看几个例子:

  

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

 

  效果:

  

 

  其二维图为:

  

 

  叮!

  不学不知道,学了才知道什么都不是想象的那么简单啊。

  

 

  

补充:plt.contour等高线绘制

 

  

import numpy as np

 

  

 

  参考:https://blog.csdn.net/qq_42505705/article/details/88771942

  

 

  

总结

 

  到此这篇关于python作图基础之plt.contour的文章就介绍到这了,更多相关python作图plt.contour内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

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

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