How to vertically stretch graphs with matplotlib subplot
本问题已经有最佳答案,请猛点这里访问。
使用下面的代码,我尝试使用matplotlib在一张图片中绘制12个不同的柱状图。
1 2 3 4 5 6 7 8 9 10 11 12 | for graph in range(1,13): name = all_results[graph-1] plt.subplot(4,3,graph, title = name) plt.tight_layout() current_model = name plt.hist(all_val_accuracies[current_model], #range = (0.49, 0.58), bins = 50) plt.xlabel('Accuracy') plt.ylabel('Frequency') plt.axis([0.48, 0.58, 0, 50]) |
使用这个代码,所有的柱状图都以我指示的方式绘制在一个图像中。
然而,图形本身被压缩到了一个你再也看不见的程度。
我该怎么做才能将这12个柱状图绘制在一个图像中,并且每个柱状图都可以清晰地看到?
您应该能够设置绘图的大小
1 | matplotlib.Figure.set_size_inches |
要使用它,您需要保存Figure对象。您可以将其包含在代码中,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 | for graph in range(1,13): name = all_results[graph-1] fig, axs = plt.subplot(4,3,graph, title = name) plt.tight_layout() current_model = name plt.hist(all_val_accuracies[current_model], #range = (0.49, 0.58), bins = 50) fig.set_size_inches(12, 12) plt.xlabel('Accuracy') plt.ylabel('Frequency') plt.axis([0.48, 0.58, 0, 50]) |