commit f1c970edaf627abcb79144295271c8cbf526cd88
parent 00d36026f8bbd4d45c052c2937a190c47b06c7da
Author: Kyle Milz <kyle@getaddrinfo.net>
Date: Sat, 1 Nov 2014 16:39:34 -0600
gen_svg: fully generalize axis generation
Diffstat:
M | gen_svg.pl | | | 49 | ++++++++++++++++++++++++++++++++----------------- |
1 file changed, 32 insertions(+), 17 deletions(-)
diff --git a/gen_svg.pl b/gen_svg.pl
@@ -100,28 +100,43 @@ for my $part_num (@$part_nums) {
);
}
- for my $i (0..5) {
- my $price = $y_max - $range * $i / 5;
- my $y = $margin_top + $height * $i / 5;
- $svg->text(id => $i, x => 950, y => $y,
+ my $num_labels = 5;
+ for (0..$num_labels) {
+ my $price = $y_max - $range * $_ / $num_labels;
+ my $y = $margin_top + $height * $_ / $num_labels;
+
+ $svg->text(
+ id => $_,
+ x => $margin_left + $width + 20,
+ y => $y,
style => "font-size: 12px; fill: #666",
- "text-anchor" => "start")->cdata("\$$price");
- $svg->line(id => "line_$i", x1 => 30, y1 => $y,
- x2 => 930, y2 => $y,
- "fill" => "#CCC",
- "stroke" => "#CCC",
- "stroke-width" => 1,
- );
+ "text-anchor" => "start"
+ )->cdata("\$$price");
+
+ $svg->line(
+ id => "line_$_",
+ x1 => $margin_left, y1 => $y,
+ x2 => $total_width - $margin_right, y2 => $y,
+ "fill" => "#CCC",
+ "stroke" => "#CCC",
+ "stroke-width" => 1,
+ );
}
- for my $i (0..5) {
- my $time = $x_min + $i * $domain / 5;
+ for (0..$num_labels) {
+ my $time = $x_min + $_ * $domain / $num_labels;
my $date = strftime "%b %e %Y", localtime($time);
- my $x = 30 + $i * 900 / 5;
- $svg->text(id => $time, x => $x, y => 250,
+ my $x = $margin_left + $_ / $num_labels * $width;
+
+ $svg->text(
+ id => $time,
+ x => $x, y => $total_height,
style => "font-size: 12px; fill: #666",
- "text-anchor" => "middle")->cdata($date);
- $svg->line(id => "date_marker_$i",
+ "text-anchor" => "middle"
+ )->cdata($date);
+
+ $svg->line(
+ id => "date_marker_$_",
x1 => $x, y1 => $margin_top + $height,
x2 => $x, y2 => $margin_top + $height + 5,
"fill" => "#CCC",