def generate_histogram(panel, data_list, max_plot_length, min_plot_length,
bin_interval, hist_horizontal=True,
left_spine=True, bottom_spine=True,
top_spine=False, right_spine=False, x_label=None,
y_label=None):
bins = np.arange(0, max_plot_length, bin_interval)
bin_values, bins2 = np.histogram(data_list, bins)
# hist_horizontal is used for quality
if hist_horizontal:
panel.set_xlim([min_plot_length, max_plot_length])
panel.set_ylim([0, max(bin_values * 1.1)])
# and hist_horizontal == Fale is for read length
else:
panel.set_xlim([0, max(bin_values * 1.1)])
panel.set_ylim([min_plot_length, max_plot_length])
# Generate histogram bin patches, depending on whether we're plotting
# vertically or horizontally
_generate_histogram_bin_patches(panel, bins, bin_values, hist_horizontal)
panel.spines['left'].set_visible(left_spine)
panel.spines['bottom'].set_visible(bottom_spine)
panel.spines['top'].set_visible(top_spine)
panel.spines['right'].set_visible(right_spine)
if y_label is not None:
panel.set_ylabel(y_label)
if x_label is not None:
panel.set_xlabel(x_label)
评论列表
文章目录