You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在plot_ly中实现指定等高线值适配不同等高距的可视化

Plotly 等高线图:自定义线条间隔与颜色刻度

核心实现思路

要同时满足0.1等高距的线条样式和0.01间隔的颜色刻度,需要分别控制Plotly等高线组件的两个核心逻辑:

  • 等高线线条的生成规则:通过参数指定0.1的间距
  • 颜色条的刻度显示:手动生成0.01步长的刻度值绑定到颜色条

完整代码示例

import plotly.graph_objects as go
import pandas as pd
import numpy as np

# 基于TRW_Gamir数据集整理网格数据(假设数据集含x、y、z列)
# 若原始为散点数据,需先转网格,示例见下方注意事项
z_grid = TRW_Gamir.pivot(index='y', columns='x', values='z').values
x_vals = TRW_Gamir['x'].unique()
y_vals = TRW_Gamir['y'].unique()

# 计算z值的极值,确保刻度范围覆盖全部数据
z_min = np.floor(z_grid.min() * 100) / 100
z_max = np.ceil(z_grid.max() * 100) / 100

# 生成0.01步长的颜色条刻度数组
color_tick_list = np.arange(z_min, z_max + 0.01, 0.01)

fig = go.Figure(data=go.Contour(
    x=x_vals,
    y=y_vals,
    z=z_grid,
    # 配置等高线线条:固定0.1等高距
    contours=dict(
        start=z_min,
        end=z_max,
        size=0.1,  # 仅显示间隔为0.1的等高线
        showlines=True,
        line=dict(width=1, color='black')  # 线条样式设置
    ),
    # 配置颜色填充与颜色条:0.01间隔刻度
    colorscale='Viridis',
    colorbar=dict(
        tickvals=color_tick_list,
        ticktext=[f'{val:.2f}' for val in color_tick_list],
        tickmode='array',
        ticks='outside',
        title='Z 值'
    ),
    # 锁定颜色映射范围,保证填充粒度与刻度对齐
    zmin=z_min,
    zmax=z_max
))

fig.update_layout(
    title='等高线图(0.1线条间隔 + 0.01颜色刻度)',
    xaxis_title='X 轴',
    yaxis_title='Y 轴',
    width=800,
    height=600
)

fig.show()

关键参数说明

  • contours.size=0.1:直接指定等高线线条的生成间隔,确保仅显示该间距的线条
  • color_tick_list:用numpy.arange生成步长0.01的刻度数组,精准匹配颜色刻度需求
  • colorbar.tickvals/ticktext:绑定自定义刻度,让颜色条显示0.01间隔的标签
  • zmin/zmax:锁定颜色映射范围,避免颜色填充与刻度范围错位

散点数据适配处理

如果TRW_Gamir是散点格式而非网格数据,需先通过插值生成网格:

from scipy.interpolate import griddata

# 生成均匀网格
xi = np.linspace(TRW_Gamir['x'].min(), TRW_Gamir['x'].max(), 100)
yi = np.linspace(TRW_Gamir['y'].min(), TRW_Gamir['y'].max(), 100)
xi, yi = np.meshgrid(xi, yi)

# 插值生成网格z值
zi = griddata((TRW_Gamir['x'], TRW_Gamir['y']), TRW_Gamir['z'], (xi, yi), method='cubic')

之后将x=xi、y=yi、z=zi传入go.Contour即可。

内容的提问来源于stack exchange,提问作者Ismael Borreguero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 21:15:22