在pyplot.subplot环境中优化输出图的质量

时间:2018-10-21 05:37:24

标签: python graphics

我正在尝试使用matplotlib.pyplot.subplot命令创建多个条形图:

这是我的代码:

%matplotlib inline

import numpy as np
import matplotlib.pyplot as plt

for j in range(8):

   y_range = []

   for p in range(5):

       y_range.append(np.random.uniform(0,1))

   x_range = range(len(y_range))

   plt.subplot(8/2, 4, j+1)

   plt.bar(x_range,y_range,align='center')

   x_labels = ["1/2", "1/4", "1/8", "1/16", "1/32"]
   plt.xticks(x_range, x_labels)
   plt.xlabel('Lower Bound')

   plt.ylim([0,1])
   plt.ylabel('Proportion')

plt.show

输出为:

enter image description here

每个图的尺寸都非常小,并且所有图都局促在一起。另外,x轴和y轴的标签与图重叠,并且x轴上的刻度也相互重叠。

关于如何提高输出质量的任何建议?

1 个答案:

答案 0 :(得分:0)

使用此代码:

import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(10,10))
for j in range(8):

   y_range = []

   for p in range(5):

       y_range.append(np.random.uniform(0,1))

   x_range = range(len(y_range))

   plt.subplot(8/2, 4, j+1)

   plt.bar(x_range,y_range,align='center')

   x_labels = ["1/2", "1/4", "1/8", "1/16", "1/32"]
   plt.xticks(x_range, x_labels, rotation='vertical')
   plt.xlabel('Lower Bound')

   plt.ylim([0,1])
   plt.ylabel('Proportion')
plt.tight_layout()

enter image description here