Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
optParser.add_option("-i", "--tripinfos-inputs", dest="tripinfos", metavar="FILE",
help="Defines the tripinfo-output files to use as input")
optParser.add_option("-v", "--verbose", dest="verbose", action="store_true",
default=False, help="If set, the script says what it's doing")
optParser.add_option("-m", "--measure", dest="measure",
default="duration", help="Define which measure to plot")
optParser.add_option("--bins", dest="bins",
type="int", default=20, help="Define the bin number")
optParser.add_option("--norm", dest="norm",
type="float", default=1., help="Read values will be devided by this number")
optParser.add_option("--minV", dest="minV",
type="float", default=None, help="Define the minimum value boundary")
optParser.add_option("--maxV", dest="maxV",
type="float", default=None, help="Define the maximum value boundary")
# standard plot options
helpers.addInteractionOptions(optParser)
helpers.addPlotOptions(optParser)
# parse
options, _ = optParser.parse_args(args=args)
if options.tripinfos is None:
print("Error: at least one tripinfo file must be given")
sys.exit(1)
minV = options.minV
maxV = options.maxV
files = options.tripinfos.split(",")
values = {}
for f in files:
if options.verbose:
print("Reading '%s'..." % f)
nums = sumolib.output.parse_sax__asList(
for line in fd:
v = line.strip().split(";")
if len(v) < 2:
continue
labels.append(v[0].replace("\\n", "\n"))
vals.append(float(v[1]))
total += float(v[1])
if options.revert:
labels.reverse()
vals.reverse()
colors = []
for i, e in enumerate(labels):
colors.append(helpers.getColor(options, i, len(labels)))
fig, ax = helpers.openFigure(options)
if options.nolabels:
labels = None
shadow = options.shadow
if options.percentage:
def autopct(p):
return '{:.1f}%'.format(p)
# autopct = lambda p: '{:.1f}%'.format(p)
else:
def autopct(p):
return '{:.0f}'.format(p * total / 100)
# autopct = lambda p: '{:.0f}'.format(p * total / 100)
patches, texts, autotexts = plt.pie(
vals, labels=labels, autopct=autopct, colors=colors, shadow=shadow, startangle=options.startangle)
helpers.closeFigure(fig, ax, options)
def main(args=None):
"""The main function; parses options and plots"""
# ---------- build and read options ----------
from optparse import OptionParser
optParser = OptionParser()
optParser.add_option("-i", "--summary-inputs", dest="summary", metavar="FILE",
help="Defines the summary-output files to use as input")
optParser.add_option("-v", "--verbose", dest="verbose", action="store_true",
default=False, help="If set, the script says what it's doing")
optParser.add_option("-m", "--measure", dest="measure",
default="running", help="Define which measure to plot")
# standard plot options
helpers.addInteractionOptions(optParser)
helpers.addPlotOptions(optParser)
# parse
options, remaining_args = optParser.parse_args(args=args)
if options.summary is None:
print("Error: at least one summary file must be given")
sys.exit(1)
minV = 0
maxV = 0
files = options.summary.split(",")
nums = readValues(files, options.verbose, options.measure)
times = readValues(files, options.verbose, "time")
for f in files:
maxV = max(maxV, len(nums[f]))
ts = range(minV, maxV + 1)
def main(args=None):
"""The main function; parses options and plots"""
# ---------- build and read options ----------
from optparse import OptionParser
optParser = OptionParser()
optParser.add_option("-i", "--summary-inputs", dest="summary", metavar="FILE",
help="Defines the summary-output files to use as input")
optParser.add_option("-v", "--verbose", dest="verbose", action="store_true",
default=False, help="If set, the script says what it's doing")
optParser.add_option("-m", "--measure", dest="measure",
default="running", help="Define which measure to plot")
# standard plot options
helpers.addInteractionOptions(optParser)
helpers.addPlotOptions(optParser)
# parse
options, _ = optParser.parse_args(args=args)
if options.summary is None:
print("Error: at least one summary file must be given")
sys.exit(1)
minV = 0
maxV = 0
files = options.summary.split(",")
nums = readValues(files, options.verbose, options.measure)
times = readValues(files, options.verbose, "time")
for f in files:
maxV = max(maxV, len(nums[f]))
range(minV, maxV + 1)
help="Defines the tripinfo-output files to use as input")
optParser.add_option("-v", "--verbose", dest="verbose", action="store_true",
default=False, help="If set, the script says what it's doing")
optParser.add_option("-m", "--measure", dest="measure",
default="duration", help="Define which measure to plot")
optParser.add_option("--bins", dest="bins",
type="int", default=20, help="Define the bin number")
optParser.add_option("--norm", dest="norm",
type="float", default=1., help="Read values will be devided by this number")
optParser.add_option("--minV", dest="minV",
type="float", default=None, help="Define the minimum value boundary")
optParser.add_option("--maxV", dest="maxV",
type="float", default=None, help="Define the maximum value boundary")
# standard plot options
helpers.addInteractionOptions(optParser)
helpers.addPlotOptions(optParser)
# parse
options, _ = optParser.parse_args(args=args)
if options.tripinfos is None:
print("Error: at least one tripinfo file must be given")
sys.exit(1)
minV = options.minV
maxV = options.maxV
files = options.tripinfos.split(",")
values = {}
for f in files:
if options.verbose:
print("Reading '%s'..." % f)
nums = sumolib.output.parse_sax__asList(
f, "tripinfo", [options.measure])
fig, ax = helpers.openFigure(options)
if options.nolabels:
labels = None
shadow = options.shadow
if options.percentage:
def autopct(p):
return '{:.1f}%'.format(p)
# autopct = lambda p: '{:.1f}%'.format(p)
else:
def autopct(p):
return '{:.0f}'.format(p * total / 100)
# autopct = lambda p: '{:.0f}'.format(p * total / 100)
patches, texts, autotexts = plt.pie(
vals, labels=labels, autopct=autopct, colors=colors, shadow=shadow, startangle=options.startangle)
helpers.closeFigure(fig, ax, options)
vlabels.append(str(value) + "%")
total += value
xs.append(x)
ts.append(t)
x = x + s
t = t + s
if options.revert:
labels.reverse()
vals.reverse()
vlabels.reverse()
colors = []
for i, e in enumerate(labels):
colors.append(helpers.getColor(options, i, len(labels)))
fig, ax = helpers.openFigure(options)
if not options.vertical:
rects = plt.barh(xs, vals, height=options.width)
for i, rect in enumerate(rects):
if options.showValues:
width = rect.get_width()
ax.text(width + options.valuesOffset, rect.get_y() +
rect.get_height() / 2., vlabels[i], va='center', ha='left')
rect.set_color(colors[i])
rect.set_edgecolor('k')
plt.ylim(0, x)
plt.yticks(ts, labels)
else:
rects = plt.bar(xs, vals, width=options.width)
for i, rect in enumerate(rects):
if options.showValues:
height = rect.get_height()
help="If set, defines the minimum edge color value")
optParser.add_option("--max-color-value", dest="colorMax",
type="float", default=None,
help="If set, defines the maximum edge color value")
optParser.add_option("--min-width-value", dest="widthMin",
type="float", default=None,
help="If set, defines the minimum edge width value")
optParser.add_option("--max-width-value", dest="widthMax",
type="float", default=None,
help="If set, defines the maximum edge width value")
optParser.add_option("-v", "--verbose", dest="verbose", action="store_true",
default=False,
help="If set, the script says what it's doing")
# standard plot options
helpers.addInteractionOptions(optParser)
helpers.addPlotOptions(optParser)
helpers.addNetOptions(optParser)
# Override the help string for the output option
outputOpt = optParser.get_option("--output")
outputOpt.help = "Comma separated list of filename(s) the figure shall be written to; " +\
"for multiple time intervals use \'\%s\' in the filename as a " +\
"placeholder for the beginning of the time interval"
# parse
options, remaining_args = optParser.parse_args(args=args)
if options.net is None:
print("Error: a network to load must be given.")
return 1
if options.verbose:
hc._edge2value[t][e] = options.colorMax
if options.colorMin is not None and hc._edge2value[t][e] < options.colorMin:
hc._edge2value[t][e] = options.colorMin
if maxColorValue is None or maxColorValue < hc._edge2value[t][e]:
maxColorValue = hc._edge2value[t][e]
if minColorValue is None or minColorValue > hc._edge2value[t][e]:
minColorValue = hc._edge2value[t][e]
colors[e] = hc._edge2value[t][e]
if options.colorMax is not None:
maxColorValue = options.colorMax
if options.colorMin is not None:
minColorValue = options.colorMin
if options.logColors:
helpers.logNormalise(colors, maxColorValue)
else:
helpers.linNormalise(colors, minColorValue, maxColorValue)
for e in colors:
colors[e] = helpers.getColor(options, colors[e], 1.)
if options.verbose:
print("Color values are between %s and %s" %
(minColorValue, maxColorValue))
widths = {}
maxWidthValue = None
minWidthValue = None
for e in net._id2edge:
if hw and t in hw._edge2value and e in hw._edge2value[t]:
v = abs(hw._edge2value[t][e])
if options.widthMax is not None and v > options.widthMax:
v = options.widthMax
if options.widthMin is not None and v < options.widthMin:
v = options.widthMin
v = abs(hw._edge2value[t][e])
if options.widthMax is not None and v > options.widthMax:
v = options.widthMax
if options.widthMin is not None and v < options.widthMin:
v = options.widthMin
if not maxWidthValue or maxWidthValue < v:
maxWidthValue = v
if not minWidthValue or minWidthValue > v:
minWidthValue = v
widths[e] = v
if options.widthMax is not None:
maxWidthValue = options.widthMax
if options.widthMin is not None:
minWidthValue = options.widthMin
if options.logWidths:
helpers.logNormalise(widths, options.colorMax)
else:
helpers.linNormalise(widths, minWidthValue, maxWidthValue)
for e in widths:
widths[e] = options.minWidth + widths[e] * \
(options.maxWidth - options.minWidth)
if options.verbose:
print("Width values are between %s and %s" %
(minWidthValue, maxWidthValue))
fig, ax = helpers.openFigure(options)
ax.set_aspect("equal", None, 'C')
helpers.plotNet(net, colors, widths, options)
# drawing the legend, at least for the colors
norm = matplotlib.colors.LogNorm if options.logColors else matplotlib.colors.Normalize
sm = plt.cm.ScalarMappable(cmap=matplotlib.cm.get_cmap(options.colormap),