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

如何在Power BI中用Python视觉对象实现理想测井曲线可视化

Power BI Python视觉对象绘制测井曲线的问题与解决

问题背景

我正在Power BI中使用Python视觉对象绘制测井数据集的DEPTH和GR两列,制作垂直折线图,目标是得到类似传统测井曲线的样式(深度轴垂直向下,GR曲线沿深度方向连续延伸)。

在Jupyter Notebook中执行以下脚本可得到理想效果:

import lasio
file_path = "Well-Logs-and-Petrophysics/Data/15-9-19_SR_COMP.LAS"
las = lasio.read(file_path)
df = las.df()
df.reset_index(drop=False, inplace=True)
df.rename(columns={'index': 'Index', 'DEPT':'DEPTH'}, inplace=True)
df.dropna(how='any', axis=0, inplace=True)

x = df['GR']
y = df['DEPTH']
plt.plot(x, y)

但在Power BI中,经过相同的数据清洗步骤后,使用以下代码绘制Python视觉对象:

import matplotlib.pyplot as plt 

dataset.plot(kind='line', x='GR', y='DEPTH')
plt.show()

生成的图表样式与Jupyter中完全不符,无法达到预期的测井曲线效果。

差异原因

  1. 绘图函数的默认逻辑不同
    Jupyter中使用的是matplotlib.pyplot.plot(x, y),严格按照DataFrame的行顺序连接数据点;而Power BI中用的dataset.plot()是pandas的封装绘图接口,当指定x='GR'时,它会自动按GR的数值大小排序后绘制折线,打乱了原始的深度顺序,导致曲线混乱。

  2. 轴的排序与方向未适配测井需求
    测井曲线需要沿深度(DEPTH)的顺序绘制,但pandas的plot接口以GR为x轴时,会忽略原始数据的深度排序逻辑,同时默认的y轴方向是从下到上递增,不符合测井图深度从上到下增大的视觉习惯。

解决方法

要在Power BI中实现理想的测井曲线,需调整绘图逻辑,对齐matplotlib的原生行为:

方法1:使用matplotlib原生绘图函数(推荐)

import matplotlib.pyplot as plt

# 先按DEPTH排序,确保数据按深度顺序排列
dataset_sorted = dataset.sort_values('DEPTH')

# 用matplotlib直接绘制GR vs DEPTH的折线
plt.plot(dataset_sorted['GR'], dataset_sorted['DEPTH'])

# 反转y轴,让深度从上到下递增(符合测井图的常规展示)
plt.gca().invert_yaxis()

plt.show()

方法2:调整pandas plot的参数

如果坚持使用pandas的plot接口,需强制按原始顺序绘制并调整轴方向:

import matplotlib.pyplot as plt

# 按DEPTH排序后重置索引,确保绘制顺序正确
dataset_sorted = dataset.sort_values('DEPTH').reset_index(drop=True)

# 指定x为DEPTH,y为GR,使用索引顺序绘制
dataset_sorted.plot(kind='line', x='DEPTH', y='GR')

# 反转x轴或调整轴方向,适配测井视觉习惯
plt.gca().invert_xaxis()
plt.gca().invert_yaxis()

plt.show()

关键注意事项

  • 必须确保数据按DEPTH字段排序,这是保证曲线连续、符合测井逻辑的核心
  • 调用plt.gca().invert_yaxis()可以让深度值从上到下增大,匹配传统测井曲线的展示方式

内容的提问来源于stack exchange,提问作者Santiago Ortiz Ceballos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:37:39