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

Python调用mdt绘制正弦函数出现空白图形问题求助

解决正弦函数绘图空白问题

问题根源

你的代码出现空白图形主要有三个原因:

  • 没有调用plt.show()触发图形显示
  • mdt.dataRead返回的是二维数组(形状为(通道数, 采样点数)),直接传入plt.plot会导致绘图逻辑异常
  • 定义了无用的z变量却没有生成匹配数据的时间轴

修复步骤

  1. 提取一维数据:从返回的二维数组中取出通道0的采样数据
  2. 生成正确的时间轴:根据采样率和时长创建对应每个数据点的时间数组
  3. 添加图形显示命令:调用plt.show()让matplotlib渲染并显示图形
  4. 可选优化:添加坐标轴标签和标题,让图形更易读

修复后的完整代码

import numpy as np
import matplotlib.pyplot as plt 
import mdt

# 获取数据
data = mdt.dataRead(
    amplitude=5,
    samplingRate=48,
    duration=10,
    channels=[0],
    resolution=14,
    outType='Volt',
    continues=False
)

# 提取通道0的一维数据
data_1d = data[0, :]
# 生成匹配的时间轴
t = np.arange(0, 10, 1/48)

# 绘图
plt.plot(t, data_1d)
plt.xlabel('时间 (s)')
plt.ylabel('电压 (V)')
plt.title('50Hz正弦波采样数据')
plt.show()

关键修改说明

  • data_1d = data[0, :]:把二维数组转成一维,确保plt.plot能正确识别为单条曲线
  • t = np.arange(0, 10, 1/48):生成从0到10秒、步长为采样周期的时间数组,让x轴对应实际时间
  • plt.show():强制matplotlib弹出图形窗口显示绘制结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:01:15