之前已经将Highcharts的大致操作都讲了一遍,现在我来介绍下Highcharts的参数配置。

属性和事件

以下主要参考[参数配置](https://www.runoob.com/highcharts/highcharts-setting-detail.html)
chart.events.addSeries:添加数列到图表中。
// chart.events.click:整个图表的绘图区上所发生的点击事件。
// chart.events.load:图表加载事件。
// chart.events.redraw:图表重画事件,当点击图注显示和隐藏绘图时可以触发。
// chart.events.selection:当图表曲线可选择放大时,当选择图表操作时,可以触发该事件。
// chart.height:所绘制图表的高度值。
// chart.inverted:图表中的x,y轴对换。
// chart.polar:是否为极性图表。
// chart.reflow:当窗口大小改变时,图表宽度自适应窗口大小改变。
// chart.renderTo:图表加载的位置,是页面上的一个DOM对象。
// chart.showAxes:在空白图表中,是否显示坐标轴。
// chart.type:图表的类型,默认为line,还有bar/column/pie……
// chart.width:图表绘图区的宽度,默认为自适应。
// chart.zoomType:图表中数据报表的放大类型,可以以X轴放大,或是以Y轴放大,还可以以XY轴同时放大。
// colors:图表中多数列时,各数列之间的颜色。是一个数组,一般不动。
// credits.enabled:是否允许显示版权信息。
// credits.text:版权信息显示文字。
// exporting.buttons.exportButton.enabled:是否允许显示导出按钮。
// exporting.buttons.exportButton.menuItems:导出按钮的菜单选项。
// exporting.buttons.exportButton.onclick:导出按钮被点击的事件,不是内部的菜单。
// exporting.buttons.printButton.enabled:是否允许打印按钮。
// exporting.buttons.printButton.onclick:打印按钮的点击事件。
// exporting.enabled:打印和导出按钮是否被允许。
// exporting.filename:被导出文件的文件名。
// exporting.type:默认导出图片的文件格式。
// exporting.url:SVG图表转换并导出的接口处理地址。
// exporing.width:默认导出图片的宽度。
// labels:标签,可以加载到图表的任何位置,里面有items,style。
// lang:语言参数配置,与导出按钮菜单有关的配置,时间名称的配置等。
// legend.enabled:是否允许图注。
// navigation.buttonOptions.enabled:图表中所有导航中的按钮是否可被点击。
// plotOptions.area.allowPointSelect:是否允许数据点的点击。
// plotOptions.area.color:绘图的颜色。
// plotOptions.area.dataLabels.enabled:是否允许数据标签。
// plotOptions.area.enableMouseTracking:是否允许数据图表中,数据点的鼠标跟踪气泡显示。
// plotOptions.area.events.checkboxClick:数据图表中图注中复选框的点击事件。
// plotOptions.area.events.click:数据图表中,数据点的点击事件。
// plotOptions.area.events.hide:数据图表中,某一数据序列隐藏时的事件。
// plotOptions.area.events.show:数据图表中,某一数据序列显示时的事件。
// plotOptions.area.events.legendItemClick:数据图表中,图注中的项目被点击时的事件,直接赋值false,则不可点击。
// plotOptions.area.events.mouseOut:数据点的鼠标移出事件。
// plotOptions.area.events.mouseOver:数据点的鼠标经过事件。
// plotOptions.area.marker.enabled:图表中绘图中是否显示点的标记符。
// plotOptions.area.marker.states.hover.enabled:是否允许标记符的鼠标经过状态。
// plotOptions.area.marker.states.select.enabled:是否允许标记符的选择状态。
// plotOptions.area.point.events.click:图表中每一个单独的点点击事件。
// plotOptions.area.point.events.mouseOut
// plotOptions.area.point.events..mouseOver
// plotOptions.area.point.events.remove:删除图表中的点时的事件。
// plotOptions.area.point.events.select:图表中点选择事件。
// plotOptions.area.point.events.unselect:图表中点取消选择时的事件。
// plotOptions.area.point.events.update:图表中数据发生更新时的事件。
// plotOptions.area.visible:加载时,数据序列默认是显示还是隐藏。
// plotOptions.area.zIndex:在多序列的情况下,调整每一个序列的层叠顺序。
// 以上的point.events同样还适用于其他面积类图表(arearange、areaspline、areasplinerange),其他的柱状图(bar、column)及所有图表。
// plotOptions.area.showInLegend:是否在图注中显示。
// plotOptions.area.stacking:是以值堆叠,还是以百分比堆叠。
// plotOptions.area.states.hover.enabled:鼠标放上的状态是否允许。
// plotOptions.area.stickyTracking:鼠标粘性跟踪数据点。
// plotOptions.arearange,plotOptions.areaspline,plotOptions.areasplinerange类同于plotOptions.area
// plotOptions.bar.groupPadding:对于柱状图分组,每个分组之间的间隔。
// plotOptions.bar.grouping:是否对数据进行分组。
// plotOptions.bar.minPointLength::定义当point值为零时,点的最小长度为多少
// plotOptions.bar.showInLegend:是否在图注中显示。
// plotOptions.bar.stacking:是以值堆叠,还是以百分比堆叠(normal/percent)。
// plotOptions.column,plotOptions.columnrange类同于plotOptions.bar
// plotOptions.line的相关配置类似于plotOptions.area配置。
// plotOptions.pie.ignoreHiddenPoint:在饼状图中,某一个序列经图注点击隐藏后,整个饼状图是重新以100%分配,还是只在原图基础上隐藏,呈现一个缺口。
// plotOptions.pie.innerSize:绘制饼状图时,饼状图的圆心预留多大的空白。
// plotOptions.pie.slicedOffset:与allowPointSelect结合使用,当点被点击时,对应的扇区剥离,这个参数即配置离开的距离。
// plotOptions.pie的其他常用配置参数类同于plotOptions.area,plotOptions.scatter,plotOptions.series,plotOptions.spline的相关配置类似于plotOptions.area配置。
// series:是一个数组。
// series.data.color:某一个数据的颜色。
// series.data.dataLabels:序列中某一个数据的数据标签。
// series.data.events类同于plotOptions.area.point.events的相关配置。
// series.data.marker类同于plotOptions.area.marker的相关配置。
// series.data.name:配置数据点的名称。
// series.data.sliced:配置在饼图中,扇区的分离距离大小。
// series.data.x:点的x值。
// series.data.y:点的y值。
// series.name:数据序列的名称。
// series.stack:堆叠的分组索引。
// series.type:数据序列的展示类型。
// series.xAxis,series.yAxis:当使用多坐标轴时,指定某个数列对应哪个坐标轴。
// subtitle:配置图表的子标题。
// title:配置图表的标题。
// tooltip:配置图表中数据的气泡提示。
// tooltip.valueDecimals:允许的小数点位数。
// tooltip.percentageDecimals:允许百分比的小数点后位数。
// xAxis,yAxis配置设置坐标轴
// allowDecimals:坐标轴上是否允许小数。
// categories:是一个数组,坐标轴的分类。
// plotLines:绘制主线。
// tickColor:刻度颜色。
// tickInterval:刻度的步进值。
// labels.rotation:刻度标签旋转度数

Highcharts功能已经十分强大,但还是不够解决实际项目中遇到的所有问题,特别是当需要使用画布进行绘制的时候。所幸Highcharts作为图表库,其本质还是JavaScript所以在实际项目中,HTML、CSS和JavaScript同样适用于Highcharts。
另外对于Highcharts形成的图形有一点是需要强调的,Highcharts底层其实是二/三次贝塞尔曲线。贝塞尔曲线是应用于二维图形应用程序的数学曲线。 一般的矢量图形软件(包括Highcharts和ECharts)都是通过它来精确画出曲线,我们在绘图工具上看到的钢笔工也是如此。所以对于生成的曲线与曲线的交点要特别注意,除非是使用标准函数生成否则生成的其实是拟合曲线,可以作为参考但是对于十分精准的测量建议慎用。
感兴趣的可以了解一下
可缩放矢量图形

前面在文章最后提到了不少的问题,现在我做下解释。
先上代码

<!DOCTYPE html>
<html lang="en">
    <meta charset="UTF-8">
    <title>demo2</title>
    <script type="text/javascript" src="js/highcharts.js"></script>
    <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
    <script type="text/javascript" src="js/data.js"></script>
    <script type="text/javascript">
        $(function () {
            //图表构造函数Highcharts.Chart(),创建图表
            var chart = Highcharts.chart('container', {
                chart: {
                    type: 'scatter'
                series: [{
                    data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
                    data:[]
            }/*,function(chart) {
                var pointIndex = 0,		//点索引
                    //数据列上点坐标
                    point = chart.series[0].points[pointIndex],
                    x = point.plotX + chart.plotLeft,
                    y = point.plotY + chart.plotTop;
//                    x = point.plotX,
//                    y = point.plotY
                    //绘制路径
                chart.renderer.path([
                    'M', 			//移动
                    chart.plotTop + chart.plotHeight,
                    'L',			//划线
                    chart.plotLeft + chart.plotWidth,
                    .attr({			//属性
                        stroke: 'red',	//行程颜色
                        'stroke-width': 1,	//行程宽度
                        dashstyle: 'longdash'	//样式
                    .add();				//添加
            }*/);
            var hasPlotLine = false,
                $button = $('#button');
            $('#button').click(function () {
                var a = $('#XPoint').val();
                var b = $('#YPoint').val();
                var c = Number(a);
                var d = Number(b);
                if (!hasPlotLine) {
                    // 新增的点包含 x 和 y 值
                    chart.series[1].addPoint([c,d]);
                    /*chart.xAxis[0].addPlotLine({           //在x轴上增加
                        value:c,                           //在值为2的地方
                        width:2,                           //标示线的宽度为2px
                        color: '#000000',                  //标示线的颜色
                        id: 'plot-line-1',                  //标示线的id,在删除该标示线的时候需要该id标示
                        dashStyle:'longdashdot'
                    });*/
                    var pointIndex = 0;
//                    var group = this.renderer.g().add();
                    //数据列上点坐标
                   var point = chart.series[1].points[pointIndex],
                        x = point.plotX + chart.plotLeft,
                        y = point.plotY + chart.plotTop;
                    //绘制路径
                    lineRender = chart.renderer.path([
                        'M', 			//移动
                        chart.plotTop + chart.plotHeight,
                        'L',			//划线
                        chart.plotLeft ,     //+ chart.plotWidth,
//                        0,
                        .attr({			//属性
                            stroke: 'red',	//行程
                            'stroke-width': 1,	//行程宽度
                            id: 'plot-line-1',
                            dashstyle: 'longdashdot'	//样式
                        .add();				//添加
                        $button.html('删除标示线');
                } else {
//                    chart.xAxis[0].removePlotLine('plot-line-1');
//                    chart.renderer.path()
//                    chart.series[1].removePoint(x,y);
                    chart.series[1].data[0].remove();
//                    chart.renderer.lineRender.remove();
                    lineRender.destroy();
                    $button.html('新增标示线');
//                .hide();
                hasPlotLine = !hasPlotLine;
    </script>
</head>
<div id="container"></div>
<input type="number" id="XPoint" name="LastName"  size="28">
<input type="number" id="YPoint" name="LastName"  size="28">
<button id="button" class="autocompare" onclick="GetText()" >新增点</button>
</body>
</html>

效果图如下:
根据输入值生成“L”辅助线

之前提到的旋转“L”可以通过对绘图路径的x,y坐标进行测验得出结果,辅助线删除功能通过调用lineRender.destroy()方法进行销毁得出。
公司项目是暂时告一段落了,等有空我会把这段时间研究的相关项目代码放在GitHub上做学习参考。

Highcharts配置之前已经将Highcharts的大致操作都讲了一遍,现在我来介绍下Highcharts的参数配置。属性和事件以下主要参考[参数配置](https://www.runoob.com/highcharts/highcharts-setting-detail.html)chart.events.addSeries:添加数列到图表中。//// chart.events...
Highcharts的一些操作去掉打印按钮去掉右下角的网址信息隐藏图例 去掉打印按钮 Highcharts官网实例eg:https://jshare.com.cn/demos/NPVyQW exporting:{ enabled:true //用来设置是否显示‘打印’,'导出'等功能按钮,不设置时默认为显示 去掉右下角的网址信息 Highcharts官网实例eg:https://j...
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/jquery.min.js"></script> <script src="http://cdn.hcharts.cn/highch
一、exporting属性说明 默认情况下,HighCharts支持将图表导出为图片或打印功能的。也就是在图表的右上角有两个按钮。打击即可进行相应的操作。 实现导出和打印功能需要引入相应的js文件,也就是exporting.js(该文件存在于highCharts压缩包的/js/modules目录下)。 一般情况下,我们基本用不上该功能(不引入exporting.js即可去掉该功能),即使是使...
最近用highcharts做图表的时候想要调整打印导出功能按钮的位置,网上查了下,发现没有效果,然后去看文档,发现有差异,应该是版本更新后配置有所变化。最新配置如下,亲测有效。 var chart = Highcharts.chart('container', { exporting: { buttons: { contextButton:{ symbol: 'url(http...
一.chart的部分相关属性说明     renderTo: 'container',      //图表的页面显示容器(也就是要显示到的div)     defaultSeriesType: 'line',  //图表类型(line、spline、scatter、splinearea、bar、pie、area、column)     marginRight: 50
在Vue和Echarts的项目实战中,首先要使用vue-cli3创建项目。可以通过运行命令"vue create 项目名称"来创建一个Vue项目。接下来,进入项目目录,使用命令"npm run serve"来运行项目。这样就可以在本地开发环境中开始项目实战了。 在数据可视化方面,Echarts是一个非常流行的图表库之一。除了Echarts外,还有其他一些流行的图表库,比如AntV、Highcharts和D3.js。这些图表库都是基于浏览器图形渲染技术实现的,主要有两种类型: Canvas和SVG。Canvas适合于大型渲染区域的应用程序,而SVG适合于图像密集型的应用。它们各自有不同的特点和适用场景,具体选择哪种图表库要根据项目需求和特点进行选择。 在具体的项目实战中,可以使用Echarts来创建各种图表和地图。Echarts提供了丰富的图表类型和交互功能,可以根据数据灵活地进行配置和展示。例如,可以使用Echarts来创建柱状图、折线图、饼图等各种类型的图表。同时,Echarts还支持对地图进行可视化展示,可以绘制各种地理信息和相关数据。使用Echarts可以通过配置项和数据来实现对图表和地图的定制化展示,使数据更加直观和易于理解。 在Vue和Echarts项目实战中,除了使用Echarts来创建图表和地图,还可以结合其他技术和工具来实现更多功能。例如,可以使用全局模态框来实现弹窗效果,使用Flex布局来实现页面的自适应布局,使用数字滚动来展示数据的动态变化,使用自定义小部件来实现一些炫酷的效果等等。此外,还可以利用rem和flexible.js进行智能大屏适配,使用cssrem插件来方便地使用rem单位进行样式开发等。 总之,在Vue和Echarts的项目实战中,可以根据具体需求和项目特点,结合Vue的开发框架和Echarts的数据可视化能力,实现丰富多样的图表和地图展示,同时还可以利用其他技术和工具来增强项目的功能和用户体验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [echarts学习——(上)Vue+Echarts构建可视化大数据平台实战项目分享(附源码)](https://blog.csdn.net/weixin_43148111/article/details/123982183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]