G2 怎么给柱形图的 x 轴进行排序

发布于 2024-11-25 20:36:56 字数 1907 浏览 16 评论 0

如下图所示,展示的三家国外互联网公司的员工类型占比,如果我们期望 x 轴显示的数据顺序为 非技术岗技术岗整体 ,那么该如何做?

image

有两种方式:

数据排序

将数据传入到 G2 之前,对数据进行排序,排序顺序就是按照 非技术岗技术岗整体 来。这种方式是最基本的方式,最简单,也最容易理解。

scale 数据顺序

但是更加数据可视化一些的方式,是修改 x 字段的数据映射顺序,默认的映射顺序是按照传入到 G2 中的顺序,我们可以去修改这个顺序即可,这就非常简单了。

import { Chart } from '@antv/g2';

const data = [
  { company: 'Apple', type: '整体', value: 30 },
  { company: 'Facebook', type: '整体', value: 35 },
  { company: 'Google', type: '整体', value: 28 },
  { company: 'Apple', type: '非技术岗', value: 40 },
  { company: 'Facebook', type: '非技术岗', value: 65 },
  { company: 'Google', type: '非技术岗', value: 47 },
  { company: 'Apple', type: '技术岗', value: 23 },
  { company: 'Facebook', type: '技术岗', value: 18 },
  { company: 'Google', type: '技术岗', value: 20 },
  { company: 'Apple', type: '技术岗', value: 35 },
  { company: 'Facebook', type: '技术岗', value: 30 },
  { company: 'Google', type: '技术岗', value: 25 }
];

const chart = new Chart({
  container: 'container',
  autoFit: true,
  height: 500,
});

chart.data(data);

// 这里修改 x 轴字段 type 的映射范围和顺序
chart.scale('type', {
  values: ['非技术岗', '技术岗', '整体']
});

chart
  .interval()
  .position('type*value').color('company')
  .adjust([{
    type: 'dodge',
  }]);

chart.render();

image

小结一下

我们前面有不少问题都是在讲 scale,scale 是图形语法甚至可视化技术中非常重要的改良,好好理解它吧。在 G2 中,通过 values 去修改数据映射顺序,可以实现:

  • x 轴显示的顺序
  • 图例项的顺序
  • 额外增加一些数据项

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
25 人气
更多

推荐作者

吝吻

文章 0 评论 0

Jasmine

文章 0 评论 0

∞梦里开花

文章 0 评论 0

阳光①夏

文章 0 评论 0

暮念

文章 0 评论 0

梦里泪两行

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文