|
@@ -61,7 +61,8 @@ def parse_args():
|
|
|
parser.add_argument("--couples-tmp-dir", help="Temporary directory to work with couples.")
|
|
|
parser.add_argument("-m", "--mode",
|
|
|
choices=["burndown-project", "burndown-file", "burndown-person",
|
|
|
- "churn-matrix", "ownership", "couples", "shotness", "sentiment",
|
|
|
+ "churn-matrix", "ownership", "couples-files", "couples-people",
|
|
|
+ "couples-shotness", "shotness", "sentiment",
|
|
|
"devs", "old-vs-new", "all", "run-times", "languages"],
|
|
|
help="What to plot.")
|
|
|
parser.add_argument(
|
|
@@ -1353,6 +1354,7 @@ def show_devs(args, name, start_date, end_date, data):
|
|
|
final[route_map[i]] = convolve(full_history, window, "same")
|
|
|
|
|
|
matplotlib, pyplot = import_pyplot(args.backend, args.style)
|
|
|
+ pyplot.rcParams["figure.figsize"] = (32, 16)
|
|
|
prop_cycle = pyplot.rcParams["axes.prop_cycle"]
|
|
|
colors = prop_cycle.by_key()["color"]
|
|
|
fig, axes = pyplot.subplots(final.shape[0], 1)
|
|
@@ -1400,7 +1402,7 @@ def show_devs(args, name, start_date, end_date, data):
|
|
|
axes[-1].get_yaxis().set_visible(False)
|
|
|
axes[-1].set_facecolor((1.0,) * 3 + (0.0,))
|
|
|
|
|
|
- title = "%s commits" % name
|
|
|
+ title = ("%s commits" % name) if not args.output else ""
|
|
|
deploy_plot(title, args.output, args.style)
|
|
|
|
|
|
|
|
@@ -1555,16 +1557,23 @@ def main():
|
|
|
except KeyError:
|
|
|
print("ownership: " + burndown_people_warning)
|
|
|
|
|
|
- def couples():
|
|
|
+ def couples_files():
|
|
|
try:
|
|
|
write_embeddings("files", args.output, not args.disable_projector,
|
|
|
*train_embeddings(*reader.get_files_coocc(),
|
|
|
tmpdir=args.couples_tmp_dir))
|
|
|
+ except KeyError:
|
|
|
+ print(couples_warning)
|
|
|
+
|
|
|
+ def couples_people():
|
|
|
+ try:
|
|
|
write_embeddings("people", args.output, not args.disable_projector,
|
|
|
*train_embeddings(*reader.get_people_coocc(),
|
|
|
tmpdir=args.couples_tmp_dir))
|
|
|
except KeyError:
|
|
|
print(couples_warning)
|
|
|
+
|
|
|
+ def couples_shotness():
|
|
|
try:
|
|
|
write_embeddings("shotness", args.output, not args.disable_projector,
|
|
|
*train_embeddings(*reader.get_shotness_coocc(),
|
|
@@ -1619,7 +1628,9 @@ def main():
|
|
|
"burndown-person": people_burndown,
|
|
|
"churn-matrix": churn_matrix,
|
|
|
"ownership": ownership_burndown,
|
|
|
- "couples": couples,
|
|
|
+ "couples-files": couples_files,
|
|
|
+ "couples-people": couples_people,
|
|
|
+ "couples-shotness": couples_shotness,
|
|
|
"shotness": shotness,
|
|
|
"sentiment": sentiment,
|
|
|
"devs": devs,
|
|
@@ -1635,7 +1646,9 @@ def main():
|
|
|
people_burndown()
|
|
|
churn_matrix()
|
|
|
ownership_burndown()
|
|
|
- couples()
|
|
|
+ couples_files()
|
|
|
+ couples_people()
|
|
|
+ couples_shotness()
|
|
|
shotness()
|
|
|
sentiment()
|
|
|
devs()
|