zoukankan      html  css  js  c++  java
  • 使用 matplotlib 绘制条形码

    使用 matplotlib 绘制条形码

    源码及参考链接

    效果图

    代码

    import numpy as np
    import matplotlib.pyplot as plt
    
    code = np.array([
        1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1,
        0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0,
        1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1,
        1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1])
    
    pixel_per_bar = 4 # 线宽像素
    dpi = 100 # 分辨率,默认值也是100
    
    fig = plt.figure(figsize=(len(code)*pixel_per_bar/dpi, 2), dpi=dpi)
    ax = fig.add_axes([0, 0, 1, 1]) # 设置坐标轴的范围为整个图窗
    ax.set_axis_off() # 隐藏 ax 的坐标轴
    ax.imshow(code.reshape(1,-1), # 必须将(N,1)转化为(N,1), 否则会报错
            cmap='binary', # 设置为二值图
            aspect='auto') # aspect 设置坐标轴的长宽比
            
    plt.show()
    

    简单的介绍其中的 API

    • plt.figure()

      figsize=(w,h) 窗口的宽和高,单位为英尺;
      dpi=100 窗口的分辨率,默认值为100;
      num=None 图窗的唯一标识,和 MATLAB 的机制类似的;

    • fig.add_axes(rect, projection=None, polar=False)

      rect 设置坐标轴在窗口的位置和大小[left, bottom, width, height]
      projection 投影方式,默认为 None;
      polar=false 此项为真时表示 projection='polar'

  • 相关阅读:
    js返回到顶部
    css培训一
    css常用hack技巧
    css培训二
    css样式渲染规则
    html语义(一)
    css样式表管理
    html+css培训方案
    继承
    封装
  • 原文地址:https://www.cnblogs.com/wreng/p/15190355.html
Copyright © 2011-2022 走看看