ax3.bar(D, HighC_21, facecolor='g', width=0.8, alpha=1.0, align='edge')
ax3.bar(D, LowC_21, bottom=HighC_21, color='r', width=0.8, alpha=1, align='edge')
我使用此代码在x轴上绘制条形图,但在开始和结束时有不均匀的空间。如何使条形在x轴上均匀分布?
答案 0 :(得分:1)
您需要使用pyplot.bar
的第一个输入来指定每个条形的x位置。您当前正在使用值D
,因此条形码应显示在D
中的每个x位置。根据您的问题,D
中的值不是您想要的条形码。
您需要将第一个输入更改为所需的(均匀间隔)值。您可以使用numpy.linspace
轻松完成此操作。
import numpy as np
# Specify where you want the first and last bars as minX and maxX
x = np.linspace(minX, maxX, len(LowC_21))
ax3.bar(x, HighC_21, facecolor='g', width=0.8, alpha=1.0)
ax3.bar(x, LowC_21, bottom=HighC_21, color='r', width=0.8, alpha=1)