D3.js - API de colores
Los colores se muestran combinando ROJO, VERDE y AZUL. Los colores se pueden especificar de las siguientes formas diferentes:
- Por nombres de color
- Como valores RGB
- Como valores hexadecimales
- Como valores HSL
- Como valores HWB
La API d3-color proporciona representaciones para varios colores. Puede realizar operaciones de conversión y manipulación en API. Entendamos estas operaciones en detalle.
Configuración de API
Puede cargar la API directamente mediante el siguiente script.
<script src = "https://d3js.org/d3-color.v1.min.js"></script>
<script>
</script>
Operaciones básicas
Repasemos las operaciones básicas de color en D3.
Convert color value to HSL - Para convertir el valor del color a HSL, use lo siguiente Example -
var convert = d3.hsl("green");
Puede girar el tono 45 ° como se muestra a continuación.
convert.h + = 45;
Del mismo modo, también puede cambiar el nivel de saturación. Para atenuar el valor del color, puede cambiar el valor de opacidad como se muestra a continuación.
convert.opacity = 0.5;
Métodos API de color
A continuación se muestran algunos de los métodos API de color más importantes.
- d3.color(specifier)
- color.opacity
- color.rgb()
- color.toString()
- color.displayable()
- d3.rgb(color)
- d3.hsl(color)
- d3.lab(color)
- d3.hcl(color)
- d3.cubehelix(color)
Entendamos cada uno de estos métodos de API de color en detalle.
d3.color (especificador)
Se utiliza para analizar el color CSS especificado y devolver el color RGB o HSL. Si no se proporciona el especificador, se devuelve un valor nulo.
Example - Consideremos el siguiente ejemplo.
<script>
var color = d3.color("green"); // asign color name directly
console.log(color);
</script>
Veremos la siguiente respuesta en nuestra pantalla:
{r: 0, g: 128, b: 0, opacity: 1}
color.opacity
Si queremos atenuar el color, podemos cambiar el valor de opacidad. Está en el rango de [0, 1].
Example - Consideremos el siguiente ejemplo.
<script>
var color = d3.color("green");
console.log(color.opacity);
</script>
Veremos la siguiente respuesta en la pantalla -
1
color.rgb ()
Devuelve el valor RGB del color. Consideremos el siguiente ejemplo.
<script>
var color = d3.color("green");
console.log(color.rgb());
</script>
Veremos la siguiente respuesta en nuestra pantalla.
{r: 0, g: 128, b: 0, opacity: 1}
color.toString ()
Devuelve una cadena que representa el color de acuerdo con la especificación del modelo de objetos CSS. Consideremos el siguiente ejemplo.
<script>
var color = d3.color("green");
console.log(color.toString());
</script>
Veremos la siguiente respuesta en nuestra pantalla.
rgb(0, 128, 0)
color.displayable ()
Devuelve verdadero, si el color es visible. Devuelve falso, si el valor de color RGB es menor que 0 o mayor que 255, o si la opacidad no está en el rango [0, 1]. Consideremos el siguiente ejemplo.
<script>
var color = d3.color("green");
console.log(color.displayable());
</script>
Veremos la siguiente respuesta en nuestra pantalla.
true
d3.rgb (color)
Este método se utiliza para construir un nuevo color RGB. Consideremos el siguiente ejemplo.
<script>
console.log(d3.rgb("yellow"));
console.log(d3.rgb(200,100,0));
</script>
Veremos la siguiente respuesta en pantalla.
{r: 255, g: 255, b: 0, opacity: 1}
{r: 200, g: 100, b: 0, opacity: 1}
d3.hsl (color)
Se utiliza para construir un nuevo color HSL. Los valores se exponen como propiedades h, sy l en la instancia devuelta. Consideremos el siguiente ejemplo.
<script>
var hsl = d3.hsl("blue");
console.log(hsl.h + = 90);
console.log(hsl.opacity = 0.5);
</script>
Veremos la siguiente respuesta en pantalla.
330
0.5
d3.lab (color)
Construye un nuevo color Lab. Los valores del canal se exponen como propiedades 'l', 'a' y 'b' en la instancia devuelta.
<script>
var lab = d3.lab("blue");
console.log(lab);
</script>
Veremos la siguiente respuesta en pantalla.
{l: 32.29701093285073, a: 79.18751984512221, b: -107.8601617541481, opacity: 1}
d3.hcl (color)
Construye un nuevo color HCL. Los valores del canal se exponen como propiedades h, cy l en la instancia devuelta. Consideremos el siguiente ejemplo.
<script>
var hcl = d3.hcl("blue");
console.log(hcl);
</script>
Veremos la siguiente respuesta en pantalla.
{h: 306.2849380699878, c: 133.80761485376166, l: 32.29701093285073, opacity: 1}
d3.cubehelix (color)
Construye un nuevo color Cubehelix. Los valores se exponen como propiedades h, sy l en la instancia devuelta. Consideremos el siguiente ejemplo.
<script>
var hcl = d3.hcl("blue");
console.log(hcl);
</script>
Veremos la siguiente respuesta en la pantalla,
{h: 236.94217167732103, s: 4.614386868039719, l: 0.10999954957200976, opacity: 1}
Ejemplo de trabajo
Creemos una nueva página web - color.htmlpara realizar todos los métodos de la API de color. La lista de códigos completa se define a continuación.
<html>
<head>
<script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script>
</head>
<body>
<h3>D3 colors API</h3>
<script>
var color = d3.color("green");
console.log(color);
console.log(color.opacity);
console.log(color.rgb());
console.log(color.toString());
console.log(color.displayable());
console.log(d3.rgb("yellow"));
console.log(d3.rgb(200,100,0));
var hsl = d3.hsl("blue");
console.log(hsl.h + = 90);
console.log(hsl.opacity = 0.5);
var lab = d3.lab("blue");
console.log(lab);
var hcl = d3.hcl("blue");
console.log(hcl);
var cube = d3.cubehelix("blue");
console.log(cube);
</script>
</body>
</html>
Ahora, solicita el navegador y veremos la siguiente respuesta.