请看下面的图表。在此图表中,我想绘制以(45,0)处的中心坐标为圆心。但是,如您所见,图表的下限为零,我的圈子的一半未显示。所以,我需要将这个图表扩展到底部。轴的“边距”方法(ax.margins())不起作用,因为此图的底线为零,零乘以任何数字等于零。Matplotlib边距
注意:请不要发布类似ax.set_ylim(...)或ax.set_yticks(...)的回复。我正在寻找这种类似问题的一般解决方案。
Code
import matplotlib.pyplot as plt
import numpy as np
values = np.array([0.00388632352941, 0.00375827941176, 0.00355033823529, 0.00328273529412, 0.00294677941176, 0.00272142647059, 0.00246463235294, 0.00227766176471, 0.00213151470588, 0.00202594117647, 0.00183544117647, 0.00162102941177, 0.00148372058824, 0.00128380882353, 0.00112252941176, 0.000931544117647, 0.000786573529412, 0.000658220588235, 0.000584485294118, 0.000524044117647, 0.000562485294118, 0.000716441176471, 0.000872617647059, 0.00109039705882, 0.00124138235294, 0.00136894117647, 0.00143985294118, 0.00134760294118, 0.00121794117647, 0.00112772058824, 0.00109435294118, 0.00102432352941, 0.00101069117647, 0.00102417647059, 0.00104895588235, 0.00101776470588, 0.00101494117647, 0.000885558823529, 0.00078075, 0.000752647058824, 0.000667691176471, 0.000593220588236, 0.000658647058823, 0.000742117647059, 0.000651470588235, 0.000604647058824, 0.000584573529412, 0.00049530882353, 0.000281235294118, 0.000355029411765])
fig, ax = plt.subplots()
ax.bar(np.arange(values.shape[0]), values)
plt.show()
不知道你的圈子有多大。即如果它很小,就关闭那个圆的剪裁。即添加'clip_on = False'。 – klimaat
我试过了,但没有结果。 –