micropython的波形显示

本文介绍了如何使用Micropython在K210微控制器上实现波形显示,包括折线图、散点图、柱状图和进度条的绘制,并探讨了进行FFT前处理的操作方法。
摘要由CSDN通过智能技术生成

基于K210

折线图和散点图

def draw_data_to_wave(img , data , start_x, start_y, w , h , color = (255,255,255),fill = True):
    #计算数据的长度
    data_len = len(data)

    #获取数据限极限幅值
    data_min  , data_max = min(data) , max(data)
    if data_min == data_max:
        img.draw_line(start_x,start_y,start_x+w,start_y,color)
        return

    #数据归一化系数
    arg_data_high = h / (data_max-data_min)

    #坐标变换系数
    arg_x = w / data_len

    #设置初始的上一次的值
    one_data = data[0]
    one_data = one_data - data_min
    draw_data = int(one_data * arg_data_high)
    last_x =  start_x
    last_value =  start_y - int(  draw_data  )

    #遍历每一个数据,单点进行变换
    for i in range(data_len):

        #获取当前点数据
        one_data = data[i]
        one_data = one_data - data_min

        #数据高度归一化
        draw_data = int(one_data * arg_data_high)

        #计算实际起始x坐标
        x =  start_x + int(  i * arg_x  )
        y =  start_y - int(  draw_data  )

        #设置对应点
        if fill:
            img.draw_line(last_x,last_value,x,y,color)
            #记录上一次的值
            last_value = y
            last_x = x
        else:
            img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酸奶可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值