diff --git a/modules/base/pymod/table.py b/modules/base/pymod/table.py index 2183b7a0a228d48e423b8a4cb95f723b84902f56..8c5b13c59903353299d81939070e00b07e72a5fb 100644 --- a/modules/base/pymod/table.py +++ b/modules/base/pymod/table.py @@ -1,5 +1,6 @@ import csv import re +import math from ost import stutil import itertools import operator @@ -652,8 +653,8 @@ class Table(object): def Plot(self, x, y=None, z=None, style='.', x_title=None, y_title=None, z_title=None, x_range=None, y_range=None, z_range=None, color=None, plot_if=None, legend=None, - num_z_levels=10, diag_line=False, labels=None, title=None, - clear=True, save=False, **kwargs): + num_z_levels=10, diag_line=False, labels=None, max_num_labels=None, + title=None, clear=True, save=False, **kwargs): """ Plot x against y using matplot lib """ @@ -746,7 +747,13 @@ class Table(object): label_vals.append(row[label_idx]) plt.plot(xs, style, **kwargs) if labels: - plt.xticks(np.arange(len(xs)), label_vals, rotation=45, size='x-small') + interval = 1 + if max_num_labels: + if len(label_vals)>max_num_labels: + interval = int(math.ceil(float(len(label_vals))/max_num_labels)) + label_vals = label_vals[::interval] + plt.xticks(np.arange(0, len(xs), interval), label_vals, rotation=45, + size='x-small') if not title: if nice_z: