python画比例尺

作者: 球果假水晶蓝 | 来源:发表于2022-08-06 22:32 被阅读0次

    我一直想利用Python matplotlib包画比例尺,就比如画下面这张图(来源于唐海宝老师jcvi包里画的染色体核型图)中的比例尺

    image.png

    之前我以为有专门的画图函数可以实现这样的功能,但是查询很久都没找到。今天我阅读jcvichromosome.py 中源码发现,这个比例尺是唐海宝老师用ax.plot函数画短线制作出来的。
    先画一个竖线,再利用循环加短横线。 数字和单位都是通过ax.text添加

    from matplotlib import pyplot as plt
    ax = plt.gca()
    plt.ylim(0,50)
    plt.xlim(0,50)
    length = 33
    ax.plot((3, 3), (1, 34), "-", color="lightslategray")
    
    x = 3
    yy = 1
    for i in range(0,length, 2):
        if i % 10:
            ax.plot((x, x + 0.2), (yy, yy), "-", color="lightslategray")
        else:
            ax.plot((x - 0.2, x + 0.2), (yy, yy), "-", color="lightslategray", lw=2)
            ax.text(x + 0.2 + 0.15, yy, i, color="gray", va="center")
        yy += 2
    ax.text(x + 0.5 , 34 + 2, "Mb", color="gray", va="center", ha="center")
    plt.show()
    
    
    image.png

    相关文章

      网友评论

        本文标题:python画比例尺

        本文链接:https://www.haomeiwen.com/subject/kzvvwrtx.html