JavaScript图表工具缩放折线图教程

Stella981
• 阅读 973

**FusionCharts Suite XT**是全面的跨平台、跨浏览器JavaScript图表套包,其中包括FusionCharts XTPowerCharts XT 、FusionWidgets XTFusionMaps XT。支持 ASP、 ASP.NET、 PHP、 JSP、 ColdFusion、 Ruby on Rails、 JavaScript、甚至简单的HTML页面。它是你值得信赖的JavaScript图表解决方案,目前在全球有45万用户选择Fusioncharts来制作专业的JavaScript图表。

点击下载FusionCharts最新版

创建缩放折线图

例如,我们将创建一个缩放折线图,以绘制去年每一天对harrysfoodmart.com和harrysfashion.com网站的唯一网站访问次数。
要创建缩放折线图,请执行以下步骤:

  • 在JSON数据中,以"": ""格式设置属性及其对应的值。
  • 使用type属性指定图表类型。要渲染缩放折线图,请设置zoomline。
  • 使用renderAt属性设置容器对象。
  • 使用width和height属性指定图表的尺寸。
  • 使用dataFormat属性设置要传递给图表对象的数据类型(JSON / XML)。
  • 将compactDataMode属性设置为,1以指定JSON数据为紧凑格式。
  • 设置pixelsPerPoint属性以指定将用于渲染数据点的像素数。更大数量的像素将导致更高质量的显示。此属性还用于设置连续数据图之间的距离。
  • 设置pixelsPerLabel属性以指定将用于呈现数据标签的像素数。
  • 使用lineThickness属性在char上指定线条的粗细。

缩放折线图中的锚点不可单击,因为FusionCharts不包括用于为数据点定义外部URL的支持API。

这样创建的缩放折线图如下所示:

JavaScript图表工具缩放折线图教程

如上图所示,在渲染时,缩放折线图显示了数据的宏观视图。数据经过整齐的压缩,因此所有数据都适合图表的宽度。当用户通过在画布上拖动鼠标光标选择折线图的一部分时,所选部分将展开以占据图表的整个宽度。

此时,滚动条开始起作用,允许用户查看在选定数据部分之前或之后的数据。为了更详细地分析数据,用户可以重复几次选择和缩放过程(直到无法进一步缩放为止)。单击Reset Chart工具栏上的按钮,可以将图表恢复到其原始的宏观显示模式。

可以在固定模式下将统计图切换到固定模式-选定线段的重影会被印在画布上,从而使用户可以通过滚动浏览来比较固定段和图表的其余部分。固定的线段可以拖动到画布的任何部分。

缩放折线图的性能基于浏览器的技术能力。一个典型的缩放折线图最多可以渲染10,000个数据点,而不会出现任何性能问题。

缩放折线图中的锚点不可单击,因为FusionCharts不包含用于定义数据点外部URL的支持API。

在工具提示中显示值

默认情况下,该useCrossLine属性设置为1,启用。当useCrossLine悬停数据点时启用图表显示数据值对于所有的系列,图表显示与按降序排列的垂直线对准的工具提示这些值。当useCrossLine设置为0(禁用)时,将其悬停在数据点上仅显示该数据点的值。

要设置,useCrossLine请参考以下代码:

{ "chart": { "useCrossLine": "1" }, }

JavaScript图表工具缩放折线图教程

创建缩放线双Y轴图表

FusionCharts Suite XT缩放线双y轴图与缩放线图一样,用于分析宏观和微观水平的数据。使用双y轴,此图表可用于在同一图表上绘制属于具有不同数字单位的数据集的数据,这与使用常规缩放线图相比具有优势。

使用缩放线双Y轴图表的另一个优点是,当您要比较两个数据集时,一个数据集的值分布在较小的时间间隔上,而另一个数据集的值之间存在较大的时间间隔。在这种情况下,如果使用缩放折线图,则间隔较小的数据集将被绘制为一条直线。

要创建缩放线双Y轴图表,请将type属性设置为zoomlinedy。

有关属性的详细列表,请参阅统计图的统计图属性页面zoomlinedy。

下图显示了缩放的双Y轴图表,用于比较上一年每一天的唯一客流量与销售额(以美元为单位)。

JavaScript图表工具缩放折线图教程

限制数据标签的数量

默认情况下,缩放折线图显示尽可能多的数据标签,而不会造成混乱。

但是,也可以通过在numVisibleLabels属性中指定数量来限制在任何给定时间可见的数据标签的最大数量。在下面给出的示例中,在一个屏幕上呈现的标签数为12。要查看前面或后面的标签,您将需要使用滚动条。

请参阅下面给出的代码:

{ "chart": { "numVisibleLabels": "12" }, }

限制最大标签数量的缩放折线图如下所示:

JavaScript图表工具缩放折线图教程

numVisibleLabels属性仅限制可见数据标签的数量;它不会影响可见数据点的数量。

设置数据图之间的距离

在缩放折线图中,使用pixelsPerPoint属性设置连续数据图之间的距离(以像素为单位)。更大数量的像素将导致更高质量的显示。

请参阅下面给出的代码:

{ "chart": { "pixelsPerPoint": "40" }, }

缩放折线图中的锚点不可单击,因为FusionCharts不包含用于定义数据点外部URL的支持API。

设置锚定显示条件

为了减少混乱,仅当连续数据点之间的距离达到某个最小值时,才可以使锚可见。例如,您可以指示图表仅在25 pixels相隔连续数据点时显示锚。

如果图表包含大量数据,则在连续数据点之间的距离小于25个像素的宏观视图中,锚点将不可见。仅当缩放图表时,锚点才可见,并且连续数据点之间的距离增加到25个像素或更高。

要指定连续数据点之间的最小距离,请anchorMinRenderDistance以像素为单位设置属性值。

请参阅下面给出的代码:

{ "chart": { "anchorMinRenderDistance": "15" }, }

预选择可见数据图的数量

默认情况下,缩放折线图在一个屏幕上显示所有数据图。但是,可以预先选择在渲染时在单个屏幕上可见的最大数据图数量。

要预先选择屏幕上数据图的数量,请按照以下步骤操作:

  • 设置displayStartIndex属性以指定将显示在图表最左侧的数据标签的索引。
  • 设置displayEndIndex属性以指定数据标签的索引,该索引将显示在图表的最右侧。

请参阅下面给出的代码:

{ "chart": { "displayStartIndex": "49", "displayEndIndex": "253" } }

带有预选数量的数据图的缩放折线图如下所示:

JavaScript图表工具缩放折线图教程

自定义缩放折线图的外观

FusionCharts Suite XT包含几个用于自定义缩放折线图外观的选项。可以配置图表元素的外观,例如滚动条和工具栏。

用于配置toolBar图表按钮的属性为:

  • 使用设置十六进制代码toolbarButtonColor,以指定工具栏按钮的颜色。
  • 将showToolBarButtonToolText属性设置0为禁用工具栏按钮的工具提示显示。此属性的默认值为1。

请参阅下面给出的代码:

{ "chart": { "toolbarButtonColor": "ff0000", "showToolBarButtonToolText": "0" } }

该图表如下图所示:

JavaScript图表工具缩放折线图教程

要配置图表的缩放平移:

  • 使用zoomPaneBgColor属性设置十六进制代码以指定缩放窗格的背景颜色。
  • 使用zoomPaneBgAlpha属性设置缩放窗格的透明度(0到100之间的范围)。

请参阅下面给出的代码:

{ "chart": { "zoomPaneBgColor": "#a7d7f9", "zoomPaneBgAlpha": "50" } }

要设置图表的图钉平移:

  • 使用pinLineThicknessDelta属性指定固定线的粗细。仅当将图表置于图钉线模式时,才会显示钉图线。
  • 使用pinPaneBgColor属性指定背景的十六进制颜色代码。
  • 使用pinPaneBgAlpha属性指定图钉窗格的透明度(0到100之间的范围)。

请参阅下面给出的代码:

{ "chart": { "pinLineThicknessDelta": "5", "pinPaneBgColor": "#87919b", "pinPaneBgAlpha": "50" } }

设置缩小按钮的缩放模式的属性列表为:

  • 指定btnResetChartTooltext属性以使用提供的字符串替换“重置图表”按钮的默认工具文本。
  • 指定btnZoomOutTooltext属性以使用提供的字符串替换“缩小”按钮的默认工具文本。
  • 指定btnSwitchToZoomModeTooltext属性以使用提供的字符串替换“切换到缩放模式”的默认工具文本。
  • 指定btnSwitchToPinModeTooltext属性以使用提供的字符串替换“切换到引脚模式”按钮的默认工具文本。

请参阅下面给出的代码:

{ "chart": { "btnResetChartTooltext": "Want to Reset? Go for it.", "btnZoomOutTooltext": "Zoom Out the Chart", "btnSwitchToZoomModeTooltext": "Yes", "btnSwitchToPinModeTooltext": "Switch on the Pin Mode", } }

要配置图表的滚动条:

  • 将十六进制代码设置为scrollColorattribute,以指定滚动条的颜色。
  • 使用scrollHeight属性指定滚动条的高度。

请参阅下面给出的代码:

{ "chart": { "scrollColor": "#bdbdbd", "scrollHeight": "15" } }

自定义峰数据限制

Zoomline图表显示了大量数据集。例如,您可以使用它来绘制过去10年中两个或多个部门的每日收入。

但是,您看不到图表的初始显示中绘制的所有数据值。相反,您会看到从数据集中明智地选择的多个值。这样,您可以快速确定值的趋势。该过程还可以减少资源消耗并提高图表性能。要深入了解数据,只需放大以专注于各个绘图点即可。

FusionCharts利用自己的逻辑来智能确定初始显示中显示的图。这样,它可以消除异常值或峰值。因此,请尝试注意某些值是否超出预期结果。例如,如果在恢复正常之前的一个月内收入急剧下降或增长超出预期,请寻找离群值。

在上述情况下,您可以在Zoomline图表中使用3个属性:

  • showPeakData:采用布尔值
  • maxPeakDataLimit:以数字为值
  • minPeakDataLimit:以数字为值

第一个属性通知图表您要定义峰值数据的条件,而其他两个属性定义条件。任何大于maxPeakDataLimit(您提供的)的值都被视为峰值数据,并包含在缩放线图的初始显示中,同时minPeakDataLimit定义了相反的条件。

场景1

要显示大于图表中特定值的所有值,请执行以下操作:

  • 将的值设置showPeakData为1。
  • 将的值设置为maxPeakDataLimit应在图表上显示的图的最小值。

请参考下面的代码:

{ "chart": { ... "showPeakData": "1", "maxPeakDataLimit": "1000" }, }

方案2

要显示小于图表中特定值的所有值,请执行以下操作:

  • 将的值设置showPeakData为1。
  • 将的值设置为minPeakDataLimit应在图表上显示的图的最大值。

请参考下面的代码:

{ "chart": { ... "showPeakData": "1", "minPeakDataLimit": "900" }, }

场景3

要显示所有小于最小限制且大于最大限制的值,请执行以下操作:

  • 将的值设置showPeakData为1。
  • 将的值设置为minPeakDataLimit应在图表上显示的图的最大值。
  • 将的值设置为maxPeakDataLimit应在图表上显示的图的最小值。

请参考下面的代码:

{ "chart": { ... "showPeakData": "1", "minPeakDataLimit": "900", "maxPeakDataLimit": "1000" }, }

方案4

在某些情况下,特定值范围对您比特定离群值更重要。例如-您可能需要在初始显示的缩放折线图中包含500-1000范围内的所有值,以及智能检测到的值。

从FusionCharts v3.12.1起,无法实现此目的。但是从v3.13.0开始,FusionCharts支持一项新功能,您可以通过将min值设置为大于max value来反转min-max条件。然后,图表将包含该范围内的所有值。例如,在v3.13.0中,要包含500-1000范围内的所有值,请执行以下操作:

要显示所有大于最小限制且小于最大限制的值,请执行以下操作:

  • 将的值设置showPeakData为1。
  • 将的值设置minPeakDataLimit为1000。
  • 将的值设置maxPeakDataLimit为900。

请参考下面的代码:

{ "chart": { ... "showPeakData": "1", "minPeakDataLimit": "1000", "maxPeakDataLimit": "900" }, }


想要购买FusionCharts Suite XT正版授权,或了解更多产品信息请点击【咨询在线客服】

JavaScript图表工具缩放折线图教程

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
JavaScript图表工具FusionCharts如何使用可拖动图表
FusionChartsSuiteXT(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F3447)是全面的跨平台、跨浏览器JavaScript图表套包,其中包括FusionChartsXT(https://www.os
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
JavaScript图表工具FusionCharts创建帕累托图教程
FusionChartsSuiteXT(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F3447)是全面的跨平台、跨浏览器JavaScript图表套包,其中包括FusionChartsXT(https://www.os
Stella981 Stella981
3年前
JavaScript图表工具创建甘特图入门教程
FusionChartsSuiteXT(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F3447)是全面的跨平台、跨浏览器JavaScript图表套包,其中包括FusionChartsXT(https://www.os
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这