Commit 8c6fd6c3 authored by Mario Hock's avatar Mario Hock
Browse files

Merge branch 'master' of git.scc.kit.edu:CPUnetLOG/CPUnetPLOT

parents 0f511a86 0bbb747b
......@@ -112,7 +112,7 @@ def plot_net(ax, cnl_file, args, layout):
smooth = args.smooth_net
# axes
ax.set_ylim(0,10**10)
ax.set_ylim(top=args.net_scale)
ax.set_ylabel('Throughput (Bit/s)', fontsize=layout.fontsize.axis_labels)
plot(ax, cnl_file.x_values, cnl_file.cols, cnl_file.net_col_names, cnl_file.net_col_names, alpha,
......@@ -182,6 +182,7 @@ if __name__ == "__main__":
DEFAULT_OPACITY = 0.7
DEFAULT_ALPHA = 0.1 # alpha for ema, the smaller the smoother
DEFAULT_Y_RANGE = 10 ** 10
parser = argparse.ArgumentParser()
......@@ -204,6 +205,9 @@ if __name__ == "__main__":
metavar="ALPHA",
help = "Smooth transmission rates with exponential moving average. (Disabled by default. When specified without parameter: ALPHA=0.1)" )
parser.add_argument("-nsc", "--net-scale", type=float, default=DEFAULT_Y_RANGE,
help="[Bit]; Default: 0,10**10")
# TODO make mutual exclusive
parser.add_argument("-sr", "--send-receive", action="store_true",
......@@ -239,8 +243,7 @@ if __name__ == "__main__":
# axes
args.x_minutes = True
args.y_10G = True
args.adapt_net_yticks = True
num_files = len(args.files)
name_suggestor = NameSuggestor()
......@@ -353,8 +356,8 @@ if __name__ == "__main__":
if ( args.x_minutes ):
ax_net.xaxis.set_major_locator( plot_ticks.TimeLocator() )
ax_net.xaxis.set_major_formatter( matplotlib.ticker.FuncFormatter(plot_ticks.format_xticks_minutes) )
if ( args.y_10G ):
ax_net.yaxis.set_major_formatter( matplotlib.ticker.FuncFormatter(plot_ticks.format_yticks_10G) )
if ( args.adapt_net_yticks ):
ax_net.yaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(plot_ticks.format_yticks))
## Set the default format for the save-button to "PDF".
try:
......
......@@ -8,7 +8,7 @@
#
# Author: Mario Hock
import math
import matplotlib.ticker as ticker
from cnl_library import human_readable_from_seconds
......@@ -101,11 +101,11 @@ class TimeLocator(ticker.Locator):
locs.append(pos)
pos -= nice_step
# needs to much space
## Add an additional (still nice) max label, if appropriate.
additional_max_tick = self._make_nice(vmax, 0.25 * nice_step)
if ( additional_max_tick - max(locs) >= 0.5 * nice_step ):
locs.append(additional_max_tick)
#additional_max_tick = self._make_nice(vmax, 0.25 * nice_step)
#if ( additional_max_tick - max(locs) >= 0.5 * nice_step ):
# locs.append(additional_max_tick)
return self.raise_if_exceeds(locs)
......@@ -133,8 +133,28 @@ def format_xticks_time(x, pos=None):
return human_readable_from_seconds(float(x))
def format_xticks_minutes(x, pos=None):
return "0" if x == 0 else "{:.0f}min".format(float(x)/60)
def format_yticks_10G(y, pos=None):
return "0" if y == 0 else "{:.0f}G ".format(y / 1000000000)
if x == 0:
return "0"
elif 0 < x < 60:
return "{:.0f}s".format(x)
elif 60 <= x < 3600:
if (x%60 != 0.):
return "{:.0f}".format(math.floor(x/60.))+".{:.0f}min".format(x%60.)
else:
return "{:.0f}min".format(x/60)
else:
if (x%3600 != 0.):
return "{:.0f}".format(math.floor(x/3600.))+":{:.0f}h".format(x%3600./60.)
else:
return "{:.0f}h".format(x/3600.)
return "{:.0f}h".format(x/3600)
def format_yticks(y, pos=None):
if y < 1000:
return "{:.0f} ".format(float(y) / 1)
elif 1000 <= y < 1000000:
return "{:.0f}K ".format(float(y) / 1000)
elif 1000000 <= y < 1000000000:
return "{:.0f}M ".format(float(y) / 1000000)
else:
return "{:.0f}G ".format(float(y) / 1000000000)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment