探究matplotlib的contour

一、contour概述

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

plt.contour(X, Y, Z)
plt.show()

contour是一种数据可视化的方法,用等高线的方式来表现数据。通俗地说,可以把一张等高线地图看成一张地形图,山峰顶的轮廓线就像是一个二维函数值等于某个特定值的集合。因此contour也适用于二维图像中的各种数据分布,如热图、电势图等。

在matplotlib中,可以使用plt.contour(X,Y,Z)来绘制等高线图,其中X,Y为横纵坐标,Z为等高线数据。

二、contourf的使用

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z)
plt.show()

在上一个例子中,我们绘制的是等高线线条,那么怎么填充其中的颜色呢?答案就是使用contourf函数。

plt.contourf(X,Y,Z)的参数和plt.contour相同。它会将数据区间分割无数份,每份之间的颜色都有差别,从而实现等高线图的填充。

三、contour使用colormap调整颜色

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z, cmap='coolwarm')
plt.colorbar()
plt.show()

使用plt.contourf绘制的等高线图默认采用等间距的颜色来填充,但有时我们希望通过颜色的变化来更好地表达数据的变化。这时候可以使用colormap。

colormap是一组颜色,旨在通过渐变来改变颜色从而表示数据的变化。我们可以通过在plt.contourf中设置cmap参数来调整颜色。比如colormap中blue和red的搭配可以用coolwarm。

四、contour的一些参数介绍

1. levels

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z, levels=10)
plt.show()

在plt.contourf中,可以通过levels参数来控制等高线的数量。默认为10,也可以手动指定。

2. alpha

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contourf(X, Y, Z, alpha=0.5)
plt.show()

在plt.contourf中,可以通过alpha参数来控制等高线图的透明度。数值范围为[0,1],0为完全透明,1为不透明。

3. linewidths

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contour(X, Y, Z, linewidths=2)
plt.show()

在plt.contour中,可以通过linewidths参数来控制等高线的线条粗细。默认值为1。

4. linestyles

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

plt.contour(X,Y,Z, linestyles='dashed')
plt.show()

在plt.contour中,可以通过linestyles参数来控制等高线的线条风格。可选参数有:-, –, -., :等。

总结

本文探究了matplotlib中contour的使用,包括绘制等高线图、填充等高线图、通过colormap调整颜色、不同参数调整等高线图的样式等内容。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/192619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-01 10:28
下一篇 2024-12-01 10:28

相关推荐

  • Python最强大的制图库——Matplotlib

    Matplotlib是Python中最强大的数据可视化工具之一,它提供了海量的制图、绘图、绘制动画的功能,通过它可以轻松地展示数据的分布、比较和趋势。下面将从多个方面对Matplo…

    编程 2025-04-29
  • Python三大:NumPy、Pandas、matplotlib

    本文将详细介绍三大Python数据处理及可视化库——NumPy、Pandas以及matplotlib,为读者提供从基础使用到应用场景的全面掌握。 一、NumPy NumPy是Pyt…

    编程 2025-04-27
  • Python画图:Matplotlib的使用

    Matplotlib是Python中最常用的画图库之一。它可以轻松地创建各种类型的图表,包括直方图、散点图、线图、饼图等等。本文将从以下几个方面对Matplotlib的使用进行详细…

    编程 2025-04-27
  • 探究matplotlib中文文档

    一、介绍 Matplotlib是一个Python的可视化库,它提供了丰富的绘图工具和良好的交互性,可用于生成高质量的二维图形、三维图形和动画等。它的中文文档是对于使用者非常友好的参…

    编程 2025-04-24
  • 深入探究matplotlib.figure函数

    一、figure概述 Matplotlib是Python中著名的可视化库之一,其核心的figue函数是画布的概念,是Matplotlib中处理图形的核心概念。figure函数通过创…

    编程 2025-04-24
  • 深入浅出matplotlib — plt.figure()详解

    一、基本介绍 plt.figure()是matplotlib.pyplot中的一种功能强大的函数,常被用来创建新的绘图窗口及其所对应的绘图对象。它是一个最基础的创建图像对象的函数,…

    编程 2025-04-23
  • 深入理解matplotlib.pyplot.title

    matplotlib.pyplot是Python中最受欢迎的图形化库之一。其中,plt.title()是其中一种非常重要的函数。本文将从多个方面对该函数进行详细阐述。 一、基本用法…

    编程 2025-04-23
  • 完整介绍Python可视化库matplotlib中的plt.title函数

    一、plt.title函数的简介 matplotlib是一个Python数据可视化库,它提供了多种绘图方式,其中plt.title函数就是在绘图中添加标题的函数。 plt.titl…

    编程 2025-04-18
  • 《深入浅出Matplotlib Animation》

    一、Matplotlib Animation简介 Matplotlib是Python中常用的绘图库。其官方提供的animation模块是利用FuncAnimation实现动画效果的…

    编程 2025-03-12
  • 详解matplotlib直方图

    一、基本概念 直方图是一种常用的数据可视化方式,用于描述定量数据的分布情况。它将数据按照大小分成若干个等距的区间,然后用柱状图表示每个区间内数据的频数或频率。 具体而言,直方图包含…

    编程 2025-02-05

发表回复

登录后才能评论