使用Python中的Plotly绘制等高线图

使用Python中的Plotly绘制等高线图

在Python中, Plotly 被称为 “plotly.py”。它是一个免费且开源的绘图库,构建在”plotly.js”的基础上。它支持超过40种独特的图表类型。该库主要用于金融、地理、科学、三维和数据分析应用。

它可以用于绘制各种类型的图表,如散点图、折线图、条形图、箱线图、直方图、饼图、面积图、热力图、子图、多轴等。

安装Plotly

在命令提示符中执行下面的命令来安装plotly模块。这是一种从PyPi安装最新版本 Plotly 的简便方法。

pip install plotly

等高线图 用于将三维数据在二维平面上进行可视化,通过绘制称为等高线的常量z切片。

它是通过等高线函数(Z)绘制的,该函数是两个输入X和Y(X轴和Y轴坐标)的函数。

Z = fun(x,y)

ploty模块提供了一个名为Contour的函数,用于绘制等高线图。

contour()函数

plotly.graph_objects提供了一个名为contour()的方法来绘制等高线图。该函数有50多个参数,这里我们只讨论几个参数。

语法

plotly.graph_objects.Contour(z=None,x=None,y=None,arg=None,colorbar=None,hoverinfo=None,x=None,y=Non,**kwargs)

参数

  • z:默认值为None,用于计算等高线的二维列表(z数据)。

  • x:x坐标,默认值为None。

  • y:y坐标,默认值为None。

使用2D数组作为z函数的等高线图

使用二维数组作为z函数来绘制等高线图。

示例

在这个示例中,我们将使用二维数组绘制一个简单的等高线图。

import plotly.graph_objects as go
fig = go.Figure(data = go.Contour(z=[[4.3, 0.2],
   [-1.3, 0.9],
   [-0.32, 7.3],
   [4.6, 0.203]]))
fig.show()

输出

使用Python中的Plotly绘制等高线图

这里的4X2数组表示z函数。

带有X和Y坐标的等高线图

使用X和Y坐标以及z函数(一个二维数组)绘制等高线图。

示例

在这个示例中,我们将使用二维数组和X、Y坐标绘制等高线图。

import plotly.graph_objects as go

fig = go.Figure(data = go.Contour(z=[[4.3, 9, 0.2],
   [-1.3, 2.3, 0.9],
   [-0.32, 7.3, 0.23],
   [4.6, 0.203, 0.34]],
   x=[-8, -3, -2,-1, 0.23], # horizontal axis 
   y=[0, 2, 5, 7, 3]# vertical axis
   ))
fig.show()

输出

使用Python中的Plotly绘制等高线图

这里,x和y坐标分别代表水平轴和垂直轴。

使用Numpy绘制等高线图

使用numpy绘制等高线图,我们将使用numpy.meshgrid()函数生成X和Y坐标的数组。

示例

z函数将是使用numpy.sqrt()函数对x和y值进行平方根求和。

import numpy as np
import plotly.graph_objects as go

xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)

# create a mesh
X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)

trace = go.Contour(x = xlist, y = ylist, z = Z)
data = [trace]
fig = go.Figure(data)
fig.show()

输出

使用Python中的Plotly绘制等高线图

带有颜色刻度的等高线图

颜色刻度是plotly.graph_objects.Contour()函数的一个参数,用于设置颜色刻度。

示例

让我们举一个示例,将调色板名称字符串’Earth’设置给颜色刻度参数。

import plotly.graph_objects as go
import numpy as np

def f(x, y):
    return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)

xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)

# A mesh is created with the given co-ordinates by this numpy function
X, Y = np.meshgrid(xlist, ylist)
Z = f(X,Y)

fig = go.Figure(go.Contour(x = xlist, y = ylist, z = Z, colorscale='Earth'))
fig.show()

输出

使用Python中的Plotly绘制等高线图

我们使用不同的z函数绘制了轮廓图。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程