gpt4 book ai didi

python - 如何在前面的条形图中保留较小的值(当我不能并排放置条形时)?

转载 作者:行者123 更新时间:2023-12-02 15:35:56 27 4
gpt4 key购买 nike

我正在图表上绘制两组数据,图表的氨基酸位置沿 x 轴。有时 assay 1 的值较小,有时 assay 2 的值较小。如何确保较低的值始终在前面?

我正在使用 python 和 matplotlib/pyplot。

现在我正在添加两个条形图:

p1 = plot.bar(x1, y1, color='r', alpha=1, edgecolor='none',linewidth=0,width=0.5, log=False)
p2 = plot.bar(x2, y2, color='b', alpha=1, edgecolor='none', linewidth=0,width=0.5, log=False)

谢谢!

最佳答案

您可以使用 numpy.ma定义掩码的模块:

import numpy.ma as ma

mask1 = ma.where(y1>=y2)
mask2 = ma.where(y2>=y1)

p1 = plt.bar(x1[mask1], y1[mask1], color='r', alpha=1, edgecolor='none',linewidth=0,width=0.5, log=False)
p2 = plt.bar(x2, y2, color='b', alpha=1, edgecolor='none', linewidth=0,width=0.5, log=False)
p3 = plt.bar(x1[mask2], y1[mask2], color='r', alpha=1, edgecolor='none',linewidth=0,width=0.5, log=False)

例子:

import matplotlib.pyplot as plt
import numpy as np
import numpy.ma as ma

x1 = x2 = np.arange(5)
y1 = np.array([1,4,25,2,4])
y2 = np.array([4,2,3,32,6])

mask1 = ma.where(y1>=y2)
mask2 = ma.where(y2>=y1)

p1 = plt.bar(x1[mask1], y1[mask1], color='r', alpha=1, edgecolor='none',linewidth=0,width=0.5, log=False)
p2 = plt.bar(x2, y2, color='b', alpha=1, edgecolor='none', linewidth=0,width=0.5, log=False)
p3 = plt.bar(x1[mask2], y1[mask2], color='r', alpha=1, edgecolor='none',linewidth=0,width=0.5, log=False)

enter image description here

关于python - 如何在前面的条形图中保留较小的值(当我不能并排放置条形时)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17749833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com