python - 画一个类似于条形码的图
高洛峰
高洛峰 2017-04-18 10:17:35
[Python讨论组]

例如我现在有一个list=[1,2,3,4,2,4,2,3,2,1,2,3,2,1,2,3,2,1,4],如你所见,list中只有1,2,3,4四种元素,我现在想做的是将每一种元素对应一种不同颜色的细柱图画出来,各个柱的颜色不同大小相同,类似下图,只不过条形码颜色顺序是根据list中元素的顺序画,谢谢!!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
巴扎黑
import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig1 = plt.figure()
ax1 = fig1.add_subplot(111, aspect='equal')

l = list(range(4))
x = 0.03

for i in l:
    if i == 0:
        ax1.add_patch(patches.Rectangle((x, 0.1), 0.01, 0.6, facecolor=None))
    if i == 1:
        ax1.add_patch(
            patches.Rectangle((x, 0.1), 0.01, 0.6, facecolor="green"))
    if i == 2:
        ax1.add_patch(patches.Rectangle((x, 0.1), 0.01, 0.6, facecolor="red"))
    if i == 3:
        ax1.add_patch(
            patches.Rectangle((x, 0.1), 0.01, 0.6, facecolor="#00ffff"))
    x += 0.012
fig1.savefig('barcode.png', dpi=90, bbox_inches='tight')
巴扎黑

再创一个list存放颜色代码

PHPz

自己写一个映射,比如这样

{
valus:1,
color:#999999,  //手机码字,伪代码,格式自己改一下
weight:2px
}

然后遍历list,取出映射值赋给style就行了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号