我想
(1)在图的标题和子图的标题之间创建一些距离(目前其中一个子图的标题与图的标题重叠)。
(2)轴的科学概念显示为10的幂而不是1lx,如下图所示。
(3)通过在函数中输入作为参数的刻度数来选择子图的x和y轴上的刻度数。 (在此示例中,y轴的刻度太多)。
(4)在xlab和&之间创建一些距离x值,ylab& y值
代码和图形在下面
from __future__ import division
import math
import numpy as np
import matplotlib.pyplot as plt
def distribution_histogram(data):
rows_columns = int(math.sqrt(len(data)))
fig, ax = plt.subplots(nrows=rows_columns, ncols=rows_columns, sharey=True, tight_layout=True)
axs = ax.flatten()
subtitle_symbol = r'$\alpha$'
for i in xrange(len(data)):
d = data[i]
bins = len(d) / 10
axs[i].hist(d, bins=bins)
subtitle = subtitle_symbol + ' = '+ str(i)
axs[i].set_title('%s' % subtitle)
axs[i].ticklabel_format(style='sci', scilimits=(1,1), useOffset=True, useLocale=True, useMathText=True)
title = 'Distribution of something'
plt.suptitle('%s' % title)
plt.tight_layout()
fig.text(0.5, 0.0, 'xlab', ha='center')
fig.text(0.0, 0.5, 'ylab', va='center', rotation='vertical')
plt.savefig('%s.png' % 'distribution_file_name', bbox_inches='tight')
data = []
a = range(1,11)
a = a * 100
for i in xrange(9):
d = np.random.uniform(0,a[i],100)
data.append(d)
distribution_histogram(data)