Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(606)

Unified Diff: packages/charted/lib/charts/cartesian_renderers/bar_chart_renderer.dart

Issue 2213693002: Updated charted DEP to 0.4.X (Closed) Base URL: https://github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: packages/charted/lib/charts/cartesian_renderers/bar_chart_renderer.dart
diff --git a/packages/charted/lib/charts/cartesian_renderers/bar_chart_renderer.dart b/packages/charted/lib/charts/cartesian_renderers/bar_chart_renderer.dart
index 74e93cab0b0f37638dd650ceb19422559a6fa9b5..37f6dcf4efa613d1d08a51545982c9376096a2e6 100644
--- a/packages/charted/lib/charts/cartesian_renderers/bar_chart_renderer.dart
+++ b/packages/charted/lib/charts/cartesian_renderers/bar_chart_renderer.dart
@@ -47,7 +47,7 @@ class BarChartRenderer extends CartesianRendererBase {
var bars = new OrdinalScale()
..domain = new Range(series.measures.length).toList()
- ..rangeRoundBands([0, dimensionScale.rangeBand]);
+ ..rangeRoundBands([0, (dimensionScale as OrdinalScale).rangeBand]);
// Create and update the bar groups.
@@ -95,15 +95,31 @@ class BarChartRenderer extends CartesianRendererBase {
? (d >= 0 ? scaled0 - scaledVal : scaledVal - scaled0)
: (d >= 0 ? scaledVal - scaled0 : scaled0 - scaledVal);
ht = ht - strokeWidth;
- return (ht < 0) ? 0 : ht;
+
+ // If bar would be scaled to 0 height but data is not 0, render bar
+ // at 1 pixel so user can see and hover over to see the data.
+ return (ht < 0) ? 1 : ht;
};
var getBarPos = (d) {
var scaledVal = measureScale.scale(d).round();
+
+ // If bar would be scaled to 0 height but data is not 0, reserve 1 pixel
+ // height plus strokeWidthOffset to position the bar.
+ if (scaledVal == scaled0) {
+ return verticalBars
+ ? d > 0
+ ? scaled0 - 1 - strokeWidthOffset
+ : scaled0 + strokeWidthOffset
+ : d > 0
+ ? scaled0 + strokeWidthOffset
+ : scaled0 - 1 - strokeWidthOffset;
+ }
return verticalBars
? (d >= 0 ? scaledVal : scaled0) + strokeWidthOffset
: (d >= 0 ? scaled0 : scaledVal) + strokeWidthOffset;
};
var buildPath = (d, int i, bool animate) {
+ // If data is null or 0, an empty path for the bar is returned directly.
if (d == null || d == 0) return '';
if (verticalBars) {
var fn = d > 0 ? topRoundedRect : bottomRoundedRect;

Powered by Google App Engine
This is Rietveld 408576698