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

如何使用Python的Matplotlib绘制指定数据的波形编码图

使用Matplotlib绘制编码图

完全可以用Matplotlib绘制你需要的编码图,针对给定的字符串"01001100011",这里提供一个实现示例,模拟常见的电平编码样式(0对应低电平,1对应高电平):

import matplotlib.pyplot as plt

# 输入数据字符串
data = "01001100011"
# 将字符串转换为电平值:'0'→0,'1'→1
levels = [int(bit) for bit in data]
# 构造x轴坐标:每个bit对应一个区间,x从0到len(data)
x = range(len(levels) + 1)
# 扩展levels,让最后一个电平延续到x的最后一个点
extended_levels = [levels[0]] + levels

# 创建绘图对象
plt.figure(figsize=(10, 3))
# 绘制阶梯状编码图,where='post'表示每个电平从x=i开始到x=i+1结束
plt.step(x, extended_levels, where='post', linewidth=2, color='blue')

# 设置坐标轴标签和标题
plt.xlabel('Bit Position')
plt.ylabel('Level')
plt.title('Encoding Plot for "01001100011"')
# 设置y轴刻度为0和1
plt.yticks([0, 1])
# 设置x轴刻度对应每个bit的位置
plt.xticks(range(len(levels) + 1))
# 添加网格
plt.grid(axis='y', linestyle='--', alpha=0.7)

# 调整布局并显示
plt.tight_layout()
plt.show()

关键说明:

  • 使用plt.step()函数绘制阶梯图,where='post'参数确保每个bit的电平从当前位置开始,延续到下一个bit位置,符合编码图的常见展示方式。
  • 通过extended_levels把第一个电平重复一次,保证x轴从0开始就对应第一个bit的电平。
  • 可以根据附图的具体样式调整:比如如果是负电平表示0,只需把levels里的0换成-1即可;如果需要不同的颜色或线宽,修改step函数的参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:15:44