Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/DiagramGenerator.java @ 8892:87a242425467
Introduced ChartExtender that allows to tweak the charts for very specific use cases.
author | gernotbelger |
---|---|
date | Thu, 15 Feb 2018 13:46:35 +0100 |
parents | f87f435df856 |
children | 3ac9cb0029b2 |
comparison
equal
deleted
inserted
replaced
8891:f431aec10d2c | 8892:87a242425467 |
---|---|
12 import java.awt.Font; | 12 import java.awt.Font; |
13 | 13 |
14 import java.text.NumberFormat; | 14 import java.text.NumberFormat; |
15 | 15 |
16 import java.util.ArrayList; | 16 import java.util.ArrayList; |
17 import java.util.Collection; | |
17 import java.util.HashMap; | 18 import java.util.HashMap; |
18 import java.util.HashSet; | 19 import java.util.HashSet; |
19 import java.util.LinkedHashSet; | 20 import java.util.LinkedHashSet; |
20 import java.util.List; | 21 import java.util.List; |
21 import java.util.Map; | 22 import java.util.Map; |
236 // Add a logo (maybe). | 237 // Add a logo (maybe). |
237 addLogo(plot); | 238 addLogo(plot); |
238 | 239 |
239 aggregateLegendEntries(plot); | 240 aggregateLegendEntries(plot); |
240 | 241 |
242 /* allow extenders to do some work */ | |
243 final Collection<ChartExtender> extenders = this.diagramAttributes.getExtenders(); | |
244 for (final ChartExtender extender : extenders) { | |
245 extender.afterGenerateChart(this, plot); | |
246 } | |
247 | |
241 return chart; | 248 return chart; |
242 } | 249 } |
243 | 250 |
244 public String getOutName() { | 251 public String getOutName() { |
245 return outName; | 252 return outName; |
388 protected NumberAxis createXAxis(String label) { | 395 protected NumberAxis createXAxis(String label) { |
389 boolean logarithmic = (Boolean)diagramAttributes.getDomainAxis(). | 396 boolean logarithmic = (Boolean)diagramAttributes.getDomainAxis(). |
390 isLog().evaluate((D4EArtifact)getMaster(), context); | 397 isLog().evaluate((D4EArtifact)getMaster(), context); |
391 | 398 |
392 if (logarithmic) { | 399 if (logarithmic) { |
393 return new LogarithmicAxis(label); | 400 final LogarithmicAxis axis = new LogarithmicAxis(label); |
401 // REMARK: we overwrite the default values to 0.0, because in earlier version margins were never applied. | |
402 axis.setLowerMargin(0); | |
403 axis.setUpperMargin(0); | |
404 return axis; | |
394 } | 405 } |
395 final NumberAxis axis = new NumberAxis(label); | 406 final NumberAxis axis = new NumberAxis(label); |
407 // REMARK: we overwrite the default values to 0.0, because in earlier version margins were never applied. | |
408 axis.setLowerMargin(0); | |
409 axis.setUpperMargin(0); | |
396 // REMARK: we overwrite the default values to 0.0, because in earlier version margins were never applied. | 410 // REMARK: we overwrite the default values to 0.0, because in earlier version margins were never applied. |
397 axis.setLowerMargin(0); | 411 axis.setLowerMargin(0); |
398 axis.setUpperMargin(0); | 412 axis.setUpperMargin(0); |
399 return axis; | 413 return axis; |
400 } | 414 } |
737 } | 751 } |
738 | 752 |
739 log.debug("Prepare zoom settings for y axis at index: " + i); | 753 log.debug("Prepare zoom settings for y axis at index: " + i); |
740 zoom(plot, yaxis, getYBounds(Integer.valueOf(i)), yrange); | 754 zoom(plot, yaxis, getYBounds(Integer.valueOf(i)), yrange); |
741 } | 755 } |
742 } | 756 |
743 | 757 /* allow chart extenders to tweak zoom behaviour */ |
758 final Collection<ChartExtender> extenders = this.diagramAttributes.getExtenders(); | |
759 for (final ChartExtender extender : extenders) { | |
760 extender.afterAutoZoom(this); | |
761 } | |
762 } | |
744 | 763 |
745 protected Range getDomainAxisRange() { | 764 protected Range getDomainAxisRange() { |
746 String[] ranges = getDomainAxisRangeFromRequest(); | 765 String[] ranges = getDomainAxisRangeFromRequest(); |
747 | 766 |
748 if (ranges == null || ranges.length < 2) { | 767 if (ranges == null || ranges.length < 2) { |