我正在尝试使用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
输出为:
每个图的尺寸都非常小,并且所有图都局促在一起。另外,x轴和y轴的标签与图重叠,并且x轴上的刻度也相互重叠。
关于如何提高输出质量的任何建议?
答案 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()