mirror of https://github.com/grafana/grafana
Use d3 from node_modules (#9625)
* tech: annotations refactor, add tests for regions processing * tech: move d3 to npm and webpack, #9480 * tech: move color scale functions to separate module * fix opacity legend renderingpull/9626/head
parent
93ac6680ab
commit
396eadc5ac
@ -0,0 +1,27 @@ |
|||||||
|
import * as d3 from 'd3'; |
||||||
|
import * as d3ScaleChromatic from 'd3-scale-chromatic'; |
||||||
|
|
||||||
|
export function getColorScale(colorScheme: any, lightTheme: boolean, maxValue: number, minValue = 0): (d: any) => any { |
||||||
|
let colorInterpolator = d3ScaleChromatic[colorScheme.value]; |
||||||
|
let colorScaleInverted = colorScheme.invert === 'always' || |
||||||
|
(colorScheme.invert === 'dark' && !lightTheme); |
||||||
|
|
||||||
|
let start = colorScaleInverted ? maxValue : minValue; |
||||||
|
let end = colorScaleInverted ? minValue : maxValue; |
||||||
|
|
||||||
|
return d3.scaleSequential(colorInterpolator).domain([start, end]); |
||||||
|
} |
||||||
|
|
||||||
|
export function getOpacityScale(options, maxValue, minValue = 0) { |
||||||
|
let legendOpacityScale; |
||||||
|
if (options.colorScale === 'linear') { |
||||||
|
legendOpacityScale = d3.scaleLinear() |
||||||
|
.domain([minValue, maxValue]) |
||||||
|
.range([0, 1]); |
||||||
|
} else if (options.colorScale === 'sqrt') { |
||||||
|
legendOpacityScale = d3.scalePow().exponent(options.exponent) |
||||||
|
.domain([minValue, maxValue]) |
||||||
|
.range([0, 1]); |
||||||
|
} |
||||||
|
return legendOpacityScale; |
||||||
|
} |
@ -1,27 +0,0 @@ |
|||||||
Copyright 2010-2016 Mike Bostock |
|
||||||
All rights reserved. |
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, |
|
||||||
are permitted provided that the following conditions are met: |
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice, this |
|
||||||
list of conditions and the following disclaimer. |
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice, |
|
||||||
this list of conditions and the following disclaimer in the documentation |
|
||||||
and/or other materials provided with the distribution. |
|
||||||
|
|
||||||
* Neither the name of the author nor the names of contributors may be used to |
|
||||||
endorse or promote products derived from this software without specific prior |
|
||||||
written permission. |
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR |
|
||||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|
||||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
|
||||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
@ -1,57 +0,0 @@ |
|||||||
# D3: Data-Driven Documents |
|
||||||
|
|
||||||
<a href="https://d3js.org"><img src="https://d3js.org/logo.svg" align="left" hspace="10" vspace="6"></a> |
|
||||||
|
|
||||||
**D3** (or **D3.js**) is a JavaScript library for visualizing data using web standards. D3 helps you bring data to life using SVG, Canvas and HTML. D3 combines powerful visualization and interaction techniques with a data-driven approach to DOM manipulation, giving you the full capabilities of modern browsers and the freedom to design the right visual interface for your data. |
|
||||||
|
|
||||||
## Resources |
|
||||||
|
|
||||||
* [API Reference](https://github.com/d3/d3/blob/master/API.md) |
|
||||||
* [Release Notes](https://github.com/d3/d3/releases) |
|
||||||
* [Gallery](https://github.com/d3/d3/wiki/Gallery) |
|
||||||
* [Examples](http://bl.ocks.org/mbostock) |
|
||||||
* [Wiki](https://github.com/d3/d3/wiki) |
|
||||||
|
|
||||||
## Installing |
|
||||||
|
|
||||||
If you use npm, `npm install d3`. Otherwise, download the [latest release](https://github.com/d3/d3/releases/latest). The released bundle supports anonymous AMD, CommonJS, and vanilla environments. You can load directly from [d3js.org](https://d3js.org), [CDNJS](https://cdnjs.com/libraries/d3), or [unpkg](https://unpkg.com/d3/). For example: |
|
||||||
|
|
||||||
```html |
|
||||||
<script src="https://d3js.org/d3.v4.js"></script> |
|
||||||
``` |
|
||||||
|
|
||||||
For the minified version: |
|
||||||
|
|
||||||
```html |
|
||||||
<script src="https://d3js.org/d3.v4.min.js"></script> |
|
||||||
``` |
|
||||||
|
|
||||||
You can also use the standalone D3 microlibraries. For example, [d3-selection](https://github.com/d3/d3-selection): |
|
||||||
|
|
||||||
```html |
|
||||||
<script src="https://d3js.org/d3-selection.v1.js"></script> |
|
||||||
``` |
|
||||||
|
|
||||||
D3 is written using [ES2015 modules](http://www.2ality.com/2014/09/es6-modules-final.html). Create a [custom bundle using Rollup](http://bl.ocks.org/mbostock/bb09af4c39c79cffcde4), Webpack, or your preferred bundler. To import D3 into an ES2015 application, either import specific symbols from specific D3 modules: |
|
||||||
|
|
||||||
```js |
|
||||||
import {scaleLinear} from "d3-scale"; |
|
||||||
``` |
|
||||||
|
|
||||||
Or import everything into a namespace (here, `d3`): |
|
||||||
|
|
||||||
```js |
|
||||||
import * as d3 from "d3"; |
|
||||||
``` |
|
||||||
|
|
||||||
In Node: |
|
||||||
|
|
||||||
```js |
|
||||||
var d3 = require("d3"); |
|
||||||
``` |
|
||||||
|
|
||||||
You can also require individual modules and combine them into a `d3` object using [Object.assign](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign): |
|
||||||
|
|
||||||
```js |
|
||||||
var d3 = Object.assign({}, require("d3-format"), require("d3-geo"), require("d3-geo-projection")); |
|
||||||
``` |
|
File diff suppressed because one or more lines are too long
@ -1,3 +0,0 @@ |
|||||||
// Import main D3.js module and combine it with another
|
|
||||||
var d3 = Object.assign({}, require('./d3.v4.min.js'), require('./d3-scale-chromatic.min.js')); |
|
||||||
module.exports = d3; |
|
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue