修复Python matplot
我试图制作一个漂亮的条形图,但遇到以下问题:修复Python matplot,python,matplotlib,Python,Matplotlib,我试图制作一个漂亮的条形图,但遇到以下问题: 尽管我尝试了ax.grid的各种zorder参数,但水平网格线在条的前面。我怎样才能把网格移到后面 紧凑的布局并不紧凑。我试过fig.tight\u layout()和plt.tight\u layout()。我怎样才能从四面自动裁剪图片 是否有一种方法来定位xTick文本,使每个“长文本”与其xTick对齐 正如@JohanC在评论中所说的,您可以使用ax.set\u axisbelow(True)来显示栏后面的网格线 调用时,您可以使用pad
ax.grid
的各种zorder参数,但水平网格线在条的前面。我怎样才能把网格移到后面fig.tight\u layout()
和plt.tight\u layout()
。我怎样才能从四面自动裁剪图片ax.set\u axisbelow(True)
来显示栏后面的网格线
pad
值调整图形和子地块的adge之间的空间量:
padfloat
,默认值:1.08
图形边缘和子批次边缘之间的填充,作为字体大小的一部分
水平对齐
或ha
kwarg控制刻度标签的对齐
import matplotlib.pyplot as plt
def show_mountains(bins, fortyfive=False):
fig, ax = plt.subplots()
ax.grid(axis='y', zorder=-100, linewidth=0.2)
fig.tight_layout()
xTicks = list(range(len(bins)))
if fortyfive:
plt.xticks(rotation=45)
ax.set_xticks(xTicks)
ax.set_xticklabels(["longText"]*len(bins), fontsize=13, ha='right')
ax.set_axisbelow(True)
plt.bar(xTicks, bins, width=0.65, color="#6186f1")
plt.tight_layout(pad=0.1)
plt.close()
domain_bins = [52, 47, 36, 15, 14, 11, 18]
show_mountains(domain_bins, True)
生成此绘图:
ax.set\u axisbelow(True)
来显示栏后面的网格线
pad
值调整图形和子地块的adge之间的空间量:
padfloat
,默认值:1.08
图形边缘和子批次边缘之间的填充,作为字体大小的一部分
水平对齐
或ha
kwarg控制刻度标签的对齐
import matplotlib.pyplot as plt
def show_mountains(bins, fortyfive=False):
fig, ax = plt.subplots()
ax.grid(axis='y', zorder=-100, linewidth=0.2)
fig.tight_layout()
xTicks = list(range(len(bins)))
if fortyfive:
plt.xticks(rotation=45)
ax.set_xticks(xTicks)
ax.set_xticklabels(["longText"]*len(bins), fontsize=13, ha='right')
ax.set_axisbelow(True)
plt.bar(xTicks, bins, width=0.65, color="#6186f1")
plt.tight_layout(pad=0.1)
plt.close()
domain_bins = [52, 47, 36, 15, 14, 11, 18]
show_mountains(domain_bins, True)
生成此绘图:
对于网格线:
ax.set\u axis低于(True)
?您是否尝试过plt.tight_layout()
的填充参数?关于刻度标签旋转,请参见ax。下面的set\u axis(True)
非常有用<代码>plt.紧密布局(pad=0,w\u pad=0,h\u pad=0)也保持了非常紧密的布局。最后:plt.xticks(rotation=45,ha=“right”)
提供了完美的对齐方式!如果您/其他人还没有开始,我会将其编辑为答案。对于网格线:ax.set\u axisdown(True)
?您是否尝试过plt.tight_layout()
的填充参数?关于刻度标签旋转,请参见ax。下面的set\u axis(True)
非常有用<代码>plt.紧密布局(pad=0,w\u pad=0,h\u pad=0)也保持了非常紧密的布局。最后:plt.xticks(rotation=45,ha=“right”)
提供了完美的对齐方式!如果您/其他人还没有开始,我会将此编辑为答案。