当前位置: 首页 > 知识库问答 >
问题:

javascript - 线、柱双轴图中,如何自定义不同系列的颜色?

经和歌
2023-10-08

我有一个双轴图,由折线图和柱状图组成,一个折线图中可能有多条线,一个柱状图中可能有多个柱。
在由折线图和柱状图组成的双轴图中,如何自由的定义每一个柱和折线的颜色等信息?

共有1个答案

温开畅
2023-10-08

解决方案 Solution

VChart图表提供了对应的能力,支持通过配置scale来自由控制数据与值的映射关系。在双轴图图,控制颜色就可以使用scale来控制各个图形字段使用特定的颜色值。

更具体的配置规则,可参考:https://visactor.bytedance.net/vchart/option/barChart#scales....

代码示例 Code Example

import { useEffect, useRef } from "react";import VChart from "@visactor/vchart";export const Chart = () => {  const containerRef = useRef(null);  useEffect(() => {    const spec = {      type: "common",      data: [        {          id: "id0",          values: [            { x: "Monday", type: "Breakfast", y: 15 },            { x: "Monday", type: "Lunch", y: 25 },            { x: "Tuesday", type: "Breakfast", y: 12 },            { x: "Tuesday", type: "Lunch", y: 30 },            { x: "Wednesday", type: "Breakfast", y: 15 },            { x: "Wednesday", type: "Lunch", y: 24 },            { x: "Thursday", type: "Breakfast", y: 10 },            { x: "Thursday", type: "Lunch", y: 25 },            { x: "Friday", type: "Breakfast", y: 13 },            { x: "Friday", type: "Lunch", y: 20 },            { x: "Saturday", type: "Breakfast", y: 10 },            { x: "Saturday", type: "Lunch", y: 22 },            { x: "Sunday", type: "Breakfast", y: 12 },            { x: "Sunday", type: "Lunch", y: 19 }          ]        },        {          id: "id1",          values: [            { x: "Monday", type: "Beverage", y: 22 },            { x: "Tuesday", type: "Beverage", y: 43 },            { x: "Wednesday", type: "Beverage", y: 33 },            { x: "Thursday", type: "Beverage", y: 22 },            { x: "Friday", type: "Beverage", y: 10 },            { x: "Saturday", type: "Beverage", y: 30 },            { x: "Sunday", type: "Beverage", y: 50 }          ]        }      ],      color: {        type: "ordinal",        field: "type",        domain: ["Breakfast", "Lunch", "Beverage"],        range: ["lightPink", "lightBlue", "purple"]      },      series: [        {          type: "bar",          id: "bar",          dataIndex: 0,          label: { visible: true },          seriesField: "type",          xField: ["x", "type"],          yField: "y"        },        {          type: "line",          id: "line",          dataIndex: 1,          label: { visible: true },          seriesField: "type",          xField: "x",          yField: "y",          stack: false        }      ],      axes: [        { orient: "left", seriesIndex: [0] },        { orient: "right", seriesId: ["line"], gird: { visible: false } },        { orient: "bottom", label: { visible: true }, type: "band" }      ],      legends: {        visible: true,        orient: "bottom"      }    };    const vchart = new VChart(spec, {      dom: containerRef.current    });    vchart.renderSync();    return () => vchart.release();  }, []);  return (    <div      ref={containerRef}      style={{        width: 520,        height: 520,        border: "1px solid #ccc"      }}    />  );};

结果展示 Results

在线示例:https://codesandbox.io/s/color-scale-nh89qz?file=/src/App.js:...

相关文档

VChart Github

VChart Scale Guide

 类似资料:
  • Highcharts 组合图 以下实例演示了双Y轴, 柱形图,线条图组合。 我们在前面的章节已经了解了 Highcharts 基本配置语法。接下来让我们来看下其他的配置。 配置 yAxis 配置 在 yAxis 属性中添加两条Y轴的值 。 var yAxis = [{ // 第一条Y轴 }, { // 第二条Y轴 } }] 实例 文件名:highcharts_combin

  • 本文向大家介绍python绘制双Y轴折线图以及单Y轴双变量柱状图的实例,包括了python绘制双Y轴折线图以及单Y轴双变量柱状图的实例的使用技巧和注意事项,需要的朋友参考一下 近来实验室的师姐要发论文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手。今天师姐派了一个小活,具体要求是: 给一些训练模型的迭代次数,训练精度的数据,让我做成图

  • 以下是具有Dual Axes,Line和Column的图表示例。 我们已经在Highcharts Configuration Syntax一章中看到了用于绘制图表的配置 。 下面给出具有双轴,线和柱的组合图的示例。 配置 (Configurations) 现在让我们看一下所采取的其他配置/步骤。 YAxis 使用chart.getYAxis(index)方法获取多个yAxis。 chart.get

  • 我们已经在Highcharts Configuration Syntax一章中看到了用于绘制图表的配置 。 下面给出具有双轴,线和柱的组合图的示例。 配置 (Configurations) 现在让我们看一下所采取的其他配置/步骤。 Y轴 在yAxis中添加两个yAxis值和其他属性。 var yAxis = [ { // Primary yAxis }, { // Secon

  • 我正在使用jFreechart创建这样的折线图(取自演示): 是否可以将范围和域转换为Unicode编码系统? 非常感谢。

  • 本文向大家介绍详解Android自定义View--自定义柱状图,包括了详解Android自定义View--自定义柱状图的使用技巧和注意事项,需要的朋友参考一下 绪论 转眼间,2016伴随着互联网寒冬和帝都的雾霾马上就过去了,不知道大家今年一整年过得怎么样?最近票圈被各个城市的雾霾刷屏,内心难免会动荡,庆幸自己早出来一年,也担忧着自己的未来的职业规划。无所谓了,既然选择了这个行业,我觉得大家就应该坚