summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann E. MORIN <yann.morin.1998@free.fr>2014-04-13 22:42:42 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-04-14 22:13:04 +0200
commitef8b8d950f336f6209addfb1269efbff955ac3d9 (patch)
tree842c9af1d2dfd62c92d50d8b60f52e5bcbefee70
parentede3e5fec3951d85d464d7c0dbc4a65365048199 (diff)
downloadbuildroot-ef8b8d950f336f6209addfb1269efbff955ac3d9.tar.gz
buildroot-ef8b8d950f336f6209addfb1269efbff955ac3d9.zip
graphs: make graphs with lots of packages nicer to look at
Some magic numbers obtained with trial-and-error and successive iterations, to eventually get a nice graph. [Thomas: remove excessive spaces in expressions.] Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rwxr-xr-xsupport/scripts/graph-build-time17
1 files changed, 11 insertions, 6 deletions
diff --git a/support/scripts/graph-build-time b/support/scripts/graph-build-time
index 00c2349faf..45f94353f3 100755
--- a/support/scripts/graph-build-time
+++ b/support/scripts/graph-build-time
@@ -126,12 +126,17 @@ def pkg_histogram(data, output, order="build"):
# Draw the package names
plt.xticks(ind + .6, [ p.name for p in data ], rotation=-60, rotation_mode="anchor", fontsize=8, ha='left')
- # Adjust size of graph (double the width)
- sz = plt.gcf().get_size_inches()
- plt.gcf().set_size_inches(sz[0] * 2, sz[1])
-
- # Add more space for the package names at the bottom
- plt.gcf().subplots_adjust(bottom=0.2)
+ # Adjust size of graph depending on the number of packages
+ # Ensure a minimal size twice as the default
+ # Magic Numbers do Magic Layout!
+ ratio = max(((n_pkgs + 10) / 48, 2))
+ borders = 0.1 / ratio
+ sz = plt.gcf().get_figwidth()
+ plt.gcf().set_figwidth(sz * ratio)
+
+ # Adjust space at borders, add more space for the
+ # package names at the bottom
+ plt.gcf().subplots_adjust(bottom=0.2, left=borders, right=1-borders)
# Remove ticks in the graph for each package
axes = plt.gcf().gca()
OpenPOWER on IntegriCloud