From 109de75c6a0124e7da82059778b14cd9cf4d595e Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Sat, 13 Jun 2015 13:57:55 -0400 Subject: [PATCH] Create linear scale default settings. Cleaned up unnecessary settings from bar, line, and scatter default configs. Removed unnecessary config options from the affected sample files --- samples/bar-multi-axis.html | 51 +---------------------------- samples/bar-stacked.html | 5 ++- samples/line-multi-axis.html | 47 -------------------------- samples/line.html | 4 +-- samples/scatter-multi-axis.html | 47 -------------------------- src/charts/chart.bar.js | 30 ----------------- src/charts/chart.line.js | 32 ++---------------- src/charts/chart.scatter.js | 58 ++------------------------------- src/scales/scale.linear.js | 35 ++++++++++++++++++-- 9 files changed, 44 insertions(+), 265 deletions(-) diff --git a/samples/bar-multi-axis.html b/samples/bar-multi-axis.html index cdb573007..d6ae25951 100644 --- a/samples/bar-multi-axis.html +++ b/samples/bar-multi-axis.html @@ -58,62 +58,13 @@ display: true, position: "left", id: "y-axis-1", - - // grid line settings - gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - integersOnly: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } }, { type: "linear", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance display: true, position: "right", id: "y-axis-2", - - // grid line settings gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: false, // only want the grid lines for one axis to show up - drawTicks: false, - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - integersOnly: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", + drawOnChartArea: false } }], } diff --git a/samples/bar-stacked.html b/samples/bar-stacked.html index 1d7257f3d..573be2c18 100644 --- a/samples/bar-stacked.html +++ b/samples/bar-stacked.html @@ -2,7 +2,7 @@ - Bar Chart + Stacked Bar Chart @@ -44,6 +44,9 @@ options: { responsive: true, scales: { + xAxes: [{ + stacked: true, + }], yAxes: [{ stacked: true }] diff --git a/samples/line-multi-axis.html b/samples/line-multi-axis.html index 97833376e..729cf3731 100644 --- a/samples/line-multi-axis.html +++ b/samples/line-multi-axis.html @@ -63,32 +63,6 @@ display: true, position: "left", id: "y-axis-1", - - // grid line settings - gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - integersOnly: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } }, { type: "linear", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance display: true, @@ -97,29 +71,8 @@ // grid line settings gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, drawOnChartArea: false, // only want the grid lines for one axis to show up - drawTicks: false, - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", }, - - // scale numbers - beginAtZero: false, - integersOnly: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } }], } } diff --git a/samples/line.html b/samples/line.html index 82ca744c5..a20b6773e 100644 --- a/samples/line.html +++ b/samples/line.html @@ -43,10 +43,10 @@ responsive: true, scales: { xAxes: [{ - display: false + display: true }], yAxes: [{ - display: false + display: true }] } } diff --git a/samples/scatter-multi-axis.html b/samples/scatter-multi-axis.html index 45e0cbed5..ab08e0d26 100644 --- a/samples/scatter-multi-axis.html +++ b/samples/scatter-multi-axis.html @@ -107,32 +107,6 @@ display: true, position: "left", id: "y-axis-1", - - // grid line settings - gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - integersOnly: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } }, { type: "linear", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance display: true, @@ -141,29 +115,8 @@ // grid line settings gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, drawOnChartArea: false, // only want the grid lines for one axis to show up - drawTicks: false, - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", }, - - // scale numbers - beginAtZero: false, - integersOnly: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } }], } } diff --git a/src/charts/chart.bar.js b/src/charts/chart.bar.js index d83b25b44..1cba8b9b5 100644 --- a/src/charts/chart.bar.js +++ b/src/charts/chart.bar.js @@ -23,36 +23,6 @@ }], yAxes: [{ type: "linear", - display: true, - position: "left", - id: "y-axis-1", - - spacing: 1, - - // grid line settings - gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, // draw ticks extending towards the label - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } }], }, diff --git a/src/charts/chart.line.js b/src/charts/chart.line.js index 97b3e1ef2..64f2158f9 100644 --- a/src/charts/chart.line.js +++ b/src/charts/chart.line.js @@ -12,38 +12,10 @@ scales: { xAxes: [{ - type: "category", // scatter should not use a dataset axis + type: "category", }], yAxes: [{ - type: "linear", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance - display: true, - position: "left", - id: "y-axis-1", - - // grid line settings - gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, // draw ticks extending towards the label - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value.toLocaleString()%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } + type: "linear", }], }, }; diff --git a/src/charts/chart.scatter.js b/src/charts/chart.scatter.js index a3ae03062..6711dfbaa 100644 --- a/src/charts/chart.scatter.js +++ b/src/charts/chart.scatter.js @@ -12,66 +12,12 @@ scales: { xAxes: [{ - type: "linear", // scatter should not use a dataset axis - display: true, + type: "linear", // scatter should not use a category axis position: "bottom", id: "x-axis-1", // need an ID so datasets can reference the scale - - // grid line settings - gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value.toLocaleString()%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - }, }], yAxes: [{ - type: "linear", // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance - display: true, - position: "left", - id: "y-axis-1", - - // grid line settings - gridLines: { - show: true, - color: "rgba(0, 0, 0, 0.05)", - lineWidth: 1, - drawOnChartArea: true, - drawTicks: true, // draw ticks extending towards the label - zeroLineWidth: 1, - zeroLineColor: "rgba(0,0,0,0.25)", - }, - - // scale numbers - beginAtZero: false, - override: null, - - // label settings - labels: { - show: true, - template: "<%=value.toLocaleString()%>", - fontSize: 12, - fontStyle: "normal", - fontColor: "#666", - fontFamily: "Helvetica Neue", - } + type: "linear", }], }, diff --git a/src/scales/scale.linear.js b/src/scales/scale.linear.js index fd4e6d800..0ddd956b5 100644 --- a/src/scales/scale.linear.js +++ b/src/scales/scale.linear.js @@ -5,6 +5,37 @@ Chart = root.Chart, helpers = Chart.helpers; + var defaultConfig = { + display: true, + position: "left", + id: "y-axis-1", + + // grid line settings + gridLines: { + show: true, + color: "rgba(0, 0, 0, 0.1)", + lineWidth: 1, + drawOnChartArea: true, + drawTicks: true, // draw ticks extending towards the label + zeroLineWidth: 1, + zeroLineColor: "rgba(0,0,0,0.25)", + }, + + // scale numbers + beginAtZero: false, + override: null, + + // label settings + labels: { + show: true, + template: "<%=value.toLocaleString()%>", + fontSize: 12, + fontStyle: "normal", + fontColor: "#666", + fontFamily: "Helvetica Neue", + } + }; + var LinearScale = Chart.Element.extend({ calculateRange: helpers.noop, // overridden in the chart. Will set min and max as properties of the scale for later use isHorizontal: function() { @@ -523,6 +554,6 @@ } } }); - Chart.scaleService.registerScaleType("linear", LinearScale); - + Chart.scaleService.registerScaleType("linear", LinearScale, defaultConfig); + }).call(this);