当前位置:首页 > 技术分析 > 正文内容

Anychart图表系列三之常用图介绍(各图表类型的使用)

ruisui883个月前 (02-03)技术分析18

AnyChart是基于JavaScript (HTML5) 的图表控件。使用AnyChart控件,可创建跨浏览器和跨平台的交互式图表和仪表。AnyChart图表目前已被很多知名大公司所使用,可用于仪表盘、报表、数据分析、统计学、金融等领域。

AnyChart 可以被用于Web、桌面和移动应用程序,AnyChart 可运行于当前PC和Mac上所有主流的浏览器,如:Chrome, Safari, Firefox, Internet Explorer 和 Opera,并且可用于所有移动平台(Android (2.2+) 和 iOS (iPhone, iPad, iPod Touch). )上的主流浏览器。

柱状图是项目中最常用的图形之一,他的指标在X轴方向,每个指标对应的值在Y轴,Anychart的柱状图支持2D和3D效果。

如下代码片段,是一个简单的柱状图的XML配置,要生成一个柱状图,你就必须配置的plot_type属性为"CategorizedVertical",并且要配置标签的属性default_series_type为"Bar",这样整个图就是柱状了。

Xml代码

1.
2.
3.? 
4.??? 
5.????? 
6.??????? 
7.????????? 
8.??????? 
9.????? 
10.????? 
11.??????? 
12.????????? 
13.????????? 
14.????????? 
15.????????? 
16.????????? 
17.??????? 
18.????? 
19.??? 
20.? 
21.

条形图其实是柱状图旋转后的效果,指标在Y轴了,而数据在X轴,同时条形图也支持2D和3D效果。

条形图的配置与柱状图也非常类似,你只需要把柱状图的plot_type属性修改为"CategorizedHorizontal"即可显示成条形图。

线形图分折线图和曲线图,常用于数据发展趋势分析。

看下面的代码片段,这是配置折线图的方法,你就必须配置的plot_type属性为"CategorizedVertical",并且要配置标签的属性default_series_type为"Line",这样整个图就是折线图了。那么如果你将plot_type属性设置成"CategorizedHorizontal",结果也是折线,只是折线的指标在Y轴,而数据在X轴了。

1.
2.
3.? 
4.??? 
5.????? 
6.????? 
7.??????? 
8.????????? 
9.????????? 
10.????????? 
11.????????? 
12.????????? 
13.??????? 
14.????? 
15.??? 
16.? 
17.

曲线图与折线图配置类似,只需要将default_series_type属性修改为"Spline"即可,看下面代码

饼状图在项目中应用也很广泛,主要用于展示指标占用比例,Anychart的饼图也支持2D和3D两种。

饼图的代码如下,不同于前面几种图,饼状图只需要配置的plot_type属性为"Pie"即可。

1.
2.
3.? 
4.??? 
5.????? 
6.??????? 
7.????????? 
8.????????? 
9.????????? 
10.????????? 
11.????????? 
12.??????? 
13.????? 
14.??? 
15.? 
16.

圆环图也是非常简单,只需要配置的plot_type属性为"Doughnut"即可

介绍饼状图的一个特殊功能:Exploded Slices。饼图默认如果被点击的话,被点击的部分会伸出来突出显示。而且你也可以设置图形显示时默认突出显示哪一块或哪几块。

如下面的代码,我设置了point name为Department开头的和All开头的两个指标属性exploded为"true",那么结果就是渲染饼图后,这两个被设置的指标突出向外显示了。

不过Anychart的饼图突出显示有一个不满意的地方就是你选择了一块突出显示后,再选择别的指标,原来被选择的指标不会自动收回。

另外有的用户不希望点击饼图时突出显示,则需要配置一个标签并且设置explode_on_click属性为"Flase"即可。另外explode属性是指突出显示多远,值越大突出显示得越远。

1.
2.
3.? 
4.??? 
5.????? 
6.??????? 
7.????????? 
8.????????? 
9.????????? 
10.????????? 
11.????????? 
12.??????? 
13.????? 
14.????? 
15.??????? 
16.????? 
17.??? 
18.? 
19.

标记图其实是指图上打小点这样的标记而组成的图,我的项目里用过一次,用于表示不同时间段用户登录次数和在线时长的。

废话不多说,先上XML,看下面的代码:其中是可以不用写的,这里写了就给大家做个解释,的size属性表示标志在图上的默认大小,而下面的marker size是标识鼠标移动到标志上时标志显示的大小,下面代码从10变成20有一种放大的效果。

而设置标志图的代码也只有两块,一块是设置plot_type另一块是设置default_series_type为"Marker"即可。

1.
2.
3.? 
4.??? 
5.????? 
6.??????? 
7.????????? 
8.??????????? 
9.??????????? 
10.????????????? 
11.??????????????? 
12.????????????? 
13.??????????? 
14.????????? 
15.??????? 
16.????? 
17.????? 
18.??????? 
19.????????? 
20.????????? 
21.????????? 
22.????????? 
23.????????? 
24.????????? 
25.????????? 
26.??????? 
27.????? 
28.??? 
29.? 
30.

面积图的配置与前面的也是非常类似的,除了配置plog_type以外,再配置default_series_type即可,如下所示。

雷达图的应用场景通常是统计某个人的多维能力值,通过雷达图能很形象看出这个人的擅长和需要弥补的地方。

雷达图的配置也是非常简单,用户只需要配置标签的plot_type属性为Radar即可

1.
2.
3.? 
4.??? 
5.????? 
6.??????? 
7.????????? 
8.????????? 
9.????????? 
10.????????? 
11.????????? 
12.????????? 
13.??????? 
14.????? 
15.??? 
16.? 
17.

雷达图有很多种样式,雷达图点与点之间是通过直接连接的,如果希望以曲线连接则需要设置标签的 use_polar_coords属性为"true",如下代码

1.
2.
3.? 
4.??? 
5.????? 
6.??????? 
7.????????? 
8.????????? 
9.????????? 
10.????????? 
11.????????? 
12.????????? 
13.??????? 
14.????? 
15.????? 
16.??????? 
17.????? 
18.??? 
19.? 
20.

那么如果你希望你的雷达图中的连线像面积图那样显示,那么可以像下面这样在标签增加一个type属性"Area"

当然,Anychart的雷达图支持的效果不止这些,如果需要更多的样式,请参见官方的帮助文档

堆叠图(柱状为例)(Stacked Bar/Column Chart)

Anychart支持柱状的堆叠和面积图的堆叠,这里就只介绍柱状的堆叠,面积的堆叠与之类似。当然也可以参见官方的帮助文档:

下面是一个简单的堆叠图,需要注意的是堆叠图比如是存在多个series的,每个series你可以当作一组分类,每个series下的point指标数量都是相同的,并且他们的name一一对应,最后你看到的效果就会是相同name的指标堆叠在一起了。

柱状堆叠图与常规的柱状图唯一的区别就是在标签下有一个,这个标签决定了柱状图是以堆叠还是以常规显示。

1.
2.
3.? 
4.??? 
5.????? 
6.????? 
7.??????? 
8.????????? 
9.????????? 
10.????????? 
11.????????? 
12.??????? 
13.??????? 
14.????????? 
15.????????? 
16.????????? 
17.????????? 
18.??????? 
19.??????? 
20.????????? 
21.????????? 
22.????????? 
23.????????? 
24.??????? 
25.????? 
26.????? 
27.??????? 
28.????????? 
29.??????????? 
30.????????? 
31.??????? 
32.????? 
33.??? 
34.? 
35.

最后我们看相同data的情况下,堆叠图和常规柱状图的效果:

本站文章除注明转载外,均为本站原创或翻译

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1531.html

分享给朋友:

“Anychart图表系列三之常用图介绍(各图表类型的使用)” 的相关文章

首个支持苹果 M1 Mac 的 Linux 发行版发布,面向用户开放下载

IT之家 3 月 20 日消息,Asahi Linux 是研究 Linux for Apple Silicon macs 的组织群体,3 月 18 日,Asahi Linux 宣布成功在 M1 MacBook Air 笔记本电脑上运行,并开放了 Asahi Linux 的下载安装。Asahi Lin...

Vue3 如何实现父子组件传值?

在Vue 3中,要实现父子组件传值效果主要通过props和emit两种机制来实现,下面我们就来详细介绍一下这两种机制。父组件向子组件传值propsprops是Vue组件的一种机制,主要的作用就是实现从父组件向子组件传递数据值,在父组件上通过在子组件标签上定义属性来实现数据属性值的传递,在子组件中通过...

vue:组件中之间的传值

一、父子组件之间的传值----props/$emit1、父组件向子组件传值--props2.子组件想父组件传值-this.$emit('select',item)二、父组件向下(深层)子组件传值----provide/injectprovide:Object | () => O...

java调用API操作GitLab

最近需要在一个WEB项目中集成GitLab,用到了GitLab的API操作,在网上找了很久都是说直接调用GitLab的Http接口,而且API官方只有javadoc没有其它说明文档,特别记录下,以备查询。这里采用Token的认证方式,因此需要先登陆GitLab新建一个Token,创建方式如下:创建完...

用IDEA开发如何用Git快速拉取指定分支代码?

1,准备空的文件夹,git init2,关联远程仓库,git remote add origin gitlab地址3,拉取远程分支代码,git pull origin 远程分支名再用IDEA打开项目即可...

K8s里我的容器到底用了多少内存?

作者:frostchen导语 Linux下开发者习惯在物理机或者虚拟机环境下使用top和free等命令查看机器和进程的内存使用量,近年来越来越多的应用服务完成了微服务容器化改造,过去查看、监控和定位内存使用量的方法似乎时常不太奏效。如果你的应用程序刚刚迁移到K8s中,经常被诸如以下问题所困扰:容器的...