我正在使用python和matplotlib绘制下面显示的bloxplot.有什么办法可以减少X轴上两个箱图之间的距离吗?

这是我用来获取上图的代码:
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['ytick.direction'] = 'out'
rcParams['xtick.direction'] = 'out'
fig = plt.figure()
xlabels = ["CG", "EG"]
ax = fig.add_subplot(111)
ax.boxplot([values_cg, values_eg])
ax.set_xticks(np.arange(len(xlabels))+1)
ax.set_xticklabels(xlabels, rotation=45, ha='right')
fig.subplots_adjust(bottom=0.3)
ylabels = yticks = np.linspace(0, 20, 5)
ax.set_yticks(yticks)
ax.set_yticklabels(ylabels)
ax.tick_params(axis='x', pad=10)
ax.tick_params(axis='y', pad=10)
plt.savefig(os.path.join(output_dir, "output.pdf"))
Run Code Online (Sandbox Code Playgroud)
这是一个更接近我想要在视觉上得到的例子(虽然我不介意盒子图是否彼此更接近):

tac*_*ell 11
您可以更改绘图的宽高比或使用widthskwarg (doc):
ax.boxplot([values_cg, values_eg], widths=1)
Run Code Online (Sandbox Code Playgroud)
使箱子更宽.
尝试使用更改纵横比
\n\nax.set_aspect(1.5) # or some other float\nRun Code Online (Sandbox Code Playgroud)\n\n数字越大,绘图应该越窄(越高):
\n\n\n\n\n一个圆将被拉伸,使得高度乘以
\nnum宽度。aspect=1是相同的aspect=\xe2\x80\x99equal\xe2\x80\x99。
http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.set_aspect
\n| 归档时间: |
|
| 查看次数: |
6241 次 |
| 最近记录: |