highcharts学习总结(适合新手小白)highcharts初学者进,这是一篇个人在学习highcharts的时候的

我们在做项目的时候会技术选型(如果老板或者甲方指定用哪个那就没办法),目前国内好像最流行的可视化图表工具就echarts和highcharts,也能满足大部分需求。echarts底层为canvas,highcharts底层为svg。

highcharts优点:1.轻量级,移动端使用比较流畅,毕竟小2.基于svg,对于动态的增删节点数据非常灵活,不需要重新绘图3.兼容性好,官方说兼容到IE6。

echarts优点:1.不收费2.国人开发,便于开发和阅读文档。3.功能丰富,可以满足大部分开发。

echarts底层用cavan,也就是cavan底层有优缺点1.依赖分辨率不支持事件处理器2.弱的文本渲染能力3.能够以.jpg、.png格式保存结果图像4.最适合图像密集型的游戏,其中的许多对象会被频繁重绘

同理,highcharts底层用svg,1.不依赖分辨率2.支持事件处理器3.最适合带有大型渲染区域的应用程序(如谷歌地图)4.复杂度高会减慢渲染速度(任何过度使用DOM的应用都不快)5.不适合游戏应用

以上纯粹是借鉴别人的话,其实随便看看了解一下就行了,一般技术选型都订好了。

第一、安装

//安装npminstallhighcharts-vue第二步、注册

//全局注册importVuefrom'vue'importHighchartsVuefrom'highcharts-vue'//其他项目代码省略//vue2用Vue.use(HighchartsVue)//vue3用app.use(HighchartsVue)//局部注册的话就需要引入指定的组件当中//若仅用于特定组件,请使用局部注册方法。首先,您应该从组件文件中的Highcharts-Vue包中导入Chart组件对象:import{Chart}from'highcharts-vue'//然后,您需要在Vue实例配置中注册它,即在components部分中{components:{highcharts:Chart}}第三步、配置

//这是vue2中newVue({data(){return{chartOptions:{series:[{data:[1,2,3]//sampledata}]}}}})//这是vue3中import{ref}from"vue"constchartOptions=ref({chart:{type:'spline',backgroundColor:'#0b1c2e',//width:400,height:220},title:{text:null},xAxis:{},yAxis:{},plotOptions:{},tooltip:{},legend:{},credits:{enabled:false},series:[]})第四步、自己在使用过程中遇到的一些问题或者小坑

我们在使用图表的时候可以查看官方文档deno,基本的图表都是可以直接用vue-highcharts插件实现的,但是使用其他额外的图表或者地图的时候需要额外引入第三方库,例如我就是在使用金字塔三角pyramid和可变半径饼图variablepie的时候额外引入了第三方库,如下示例,(这个是要看官方demo示例那边的js代码引入什么库我们这边就引入什么库)

import{createApp}from'vue'importAppfrom'./App.vue'//引入highchartsimportHighchartsVuefrom'highcharts-vue';importHighchartsfrom"highcharts";//引用所需外部资源importHighcharts3dfrom"highcharts/highcharts-3d";importexportingfrom"highcharts/modules/exporting";importfunnelfrom"highcharts/modules/funnel";importvariablepiefrom'highcharts/modules/variable-pie'importfunnel3dfrom"highcharts/modules/funnel3d";importcylinderfrom"highcharts/modules/cylinder";importpyramid3dfrom"highcharts/modules/pyramid3d";importexportingInitfrom'highcharts/modules/exporting'importHighchartsMorefrom'highcharts/highcharts-more';importHighchartsDrilldownfrom'highcharts/modules/drilldown';并且个人在项目过程中遇到一个问题,是有关于npm和pnpm的问题,因为我是vue3+vie安装的项目,所有用的包管理器也是pnpm,用npm安装的时候安装vue-highcharts可以直接安装vue-highcharts和highcharts两个插件的,但是用pnpm的话只能安装vue-highcharts一个插件,后续引入第三方库是要从highcharts插件中引入的,所以需要自己手动安装highcharts组件。

首先我们要了解highcharts的一些基本常用的几大属性

标题其实不用多说,就是图表的标题没啥很细的东西,文档里面也有

charts里面最重要的是type,它指定了图表的类型是折线图还是曲线图还是柱状图还是饼图,然后可以给图表设置样式,宽高,背景颜色等等,图表样式属性包括border、backgroundColor、margin、spacing、style等,注意这些是同一级别,width,height不写在style里面

label又是比较重要的,有很多属性,enable可以设置true和false(默认true显示),当为false时,x轴和y轴上的刻度文子就不会显示,当为true时可以设置文字的样式用style对象设置,还有rotation属性可以调节坐标刻度上面字体的倾斜度,tickInterval属性可以调整刻度值间隔

min、max、tickInterval可以搭配使用,这三个属性一般用来设置刻度,设置你最小和最大以及每个刻度间隔多少,这样x轴和y轴上的刻度就是平均的了

gridLineWidth、gridLineColor、gridLineDashStyle这三个是设置坐标轴网格线样式的,gridLineDashStyle设置网格线线条样式,和Cssborder-style类似,常用的有:Solid、Dot、Dash。gridLineWidth、gridLineColor分别设置网格线宽度和颜色坐标轴配置示例代码

xAxis:{categories:['今日','本月','本季度','上季度','全年'],title:{text:null},crosshair:true,crosshairs:true//启用竖直方向准星线crosshairs:[true,true]//同时启用竖直及水平准星线crosshairs:[{//设置准星线样式width:3,color:'green'},{width:1,color:"#006cee",dashStyle:'longdashdot',zIndex:100}]labels:{style:{color:'#919191',fontSize:"12px"}}},yAxis:{categories:['0','200','400','600','800','1000'],title:{text:null},labels:{//enabled:false,style:{color:'#919191',fontSize:"12px"}},gridLineDashStyle:'ShortDash',//网格线样式gridLineColor:'rgb(64,64,64)',min:0,//最小值 tickInterval:200,//间隔 max:1000//最大值},tooltip(数据提示框配置)数据提示框指的当鼠标悬停在某点上时,以框的形式提示该点的数据,比如该点的值、数据单位等。数据提示框内提示的信息完全可以通过格式化函数动态指定;通过设置tooltip.enabled=false即可不启用提示框。

数据提示框有以下属性backgroundColor、borderColor、borderRadius、borderWidth、shadow、animation以上分别是设置提示框背景颜色、边框颜色、边框圆角、边框宽度、是否有阴影、是否开启动画,在项目中发现给边框设置宽高没用,还有一个属性padding,我们可以通过改变padding的大小从而改变数据提示框宽高。

还有两个属性也比较重要,pointFormat和headerFormat,可以设置单个点的格式化字符串和数据提示框头部格式化字符,这两个属性也可以直接使用函数pointFormatter实现,对比下pointFormatter和pointFormat我们可以知道两两种方式的差别:

上述两个观点也就是格式化函数和格式化字符串的优缺点,在使用的时候,请灵活运用。我个人喜欢用字符串,字符串里面可以用html模板

当我们在一个图表中特别是柱状图中有可能要显示两个或多个柱子进行对比,这个时候要把两个数据显示在一个提示框中方便对比也更加美观,可以设置shared属性,默认为false,设置为true时,两条数据或多条数据就在以亲显示了,并且我们可以通过pointFormat设置显示的样式。示例代码

图例有以下属性layout、align、verticalAlign这三个分别表示如下,layout表示图例的布局方式,有horizontal(水平)和vertical(垂直);align表示图例在选择垂直或水平布局之后的对齐方式,有left(左侧对齐)、center(中间对齐)、right(右侧对齐);verticalAlign表示在设置垂直排列之后,图例整体垂直对齐方式,有top、middle、bottom。图例整体还有很多样式可以配置(一般不需要)如backgroundColor、borderColor、shadow、width等等可以给每一项设置样式用itemStyle,里面有color、cursor,我们一般就给图例设置文字颜色用color示例代码

legend:{enabled:true,layout:'vertical',align:'right',verticalAlign:'middle',symbolHeight:14,symbolWidth:20,symbolRadius:0,itemStyle:{'color':'#FFFFFF'}},plotOptions(数据点配置)plotOption好像有两种写法,一种是写series对象,里面写属性,另一种是,写具体某种图表类型然后写属性,我一般是写第二种,写图表类型里面写属性,属性有dataLabels,dataLabels可以设置数据点,用enable可以控制显示与隐藏、用color设置字体颜色、用style设置字体样式。

此外还有borderRadius、borderColor、groupPadding这三个属性可以设置边框的圆角、边框颜色、每个边框内边距,我们一般用于柱状图的设置,设置borderColor为空的话外边框的白色阴影就会被去掉。示例代码

//图表类型写法plotOptions:{bar:{dataLabels:{enabled:true,//是否在图表上各个数据点显示对应数据color:'rgb(63,149,166)',style:{fontSize:"12px",}},borderRadius:'0',borderColor:'',//去边框groupPadding:0.1},},//series数据列写法series:{marker:{enabled:true//是否显示折线图上的点(折线图配置)},dataLabels:{enabled:false,//是否在图表上各个数据点显示对应数据color:'rgb(63,149,166)',formatter:function(){//格式化returnthis.y;}},borderRadius:'0',borderColor:'',//去边框groupPadding:0.1},series(数据列)数据列是一组数据集合,例如一条线,一组柱形等。图表中所有点的数据都来自数据列对象,数据列的基本构造是:

series:[{name:'',data:[]}]提示:数据列配置是个数组,也就是数据配置可以包含多个数据列。

数据列中的name代表数据列的名字,并且会显示在数据提示框(Tooltip)及图例(Legend)中。在数据列的data属性中,我们可以定义图表的数据数组,通常有三种定义方式(一般都用第三种):

1、数值数组。在这种情况下,配置数组中的数值代表Y值,X值则根据X轴的配置,要么自动计算,要么从0起自增,或者是根据pointStart及pointInterval自增;在分类轴中,X值就是categoies配置,数值数组配置实例如下:

data:[1,4,6,9,10]2、包含两个值的数组集合。在这种情况下,集合中数组的第一个值代表X,第二个值代表Y;如果第一个值是字符串,则代表该点的名字,并且X值会如1中所说的情况决定。数组集合的实例:

//柱状图和折线图series:[{type:'column',name:'数据一',data:[100,140,200,100,130],color:'rgb(80,135,236)',pointPadding:0.1,groupPadding:0.2,//borderRadiusTopLeft:100,//borderRadiusTopRight:100,},{type:'line',name:'数据二',data:[150,100,230,140,130],color:'rgb(114,205,215)',}]//饼图data:[{name:'数据一',y:40,z:220,color:'rgb(88,148,255)',},{name:'数据二',y:32,z:130,color:'rgb(114,205,215)',},{name:'数据三',y:28,z:100,color:'rgb(88,165,92)',}],其实我们把一些配置写在plotOptions里面的话,这里配置就比较简单了

THE END
1.技术动态知识相结合的提示学习研究综述文章浏览阅读430次。转载公众号 | 专知近年来,提示学习方法由于可以充分激发预训练语言模型的潜能而得到了研究者越来越多的关注,特别是在知识抽取任务中取得了较好进展。为了提升提示学习性能,研究者也开展了基于知识的提示学习模板工程、答案工程优化等多项研究。该文对提https://blog.csdn.net/TgqDT3gGaMdkHasLZv/article/details/134323192
2.表现性任务:让学习变得既有意思又有意义学生学习内动力的激发主要来自三个方面:一是有意思,二是有挑战,三是有意义。https://mp.weixin.qq.com/s?__biz=MzA4ODY4MzAxOQ==&mid=2649991484&idx=1&sn=78ef170e025c30ae727ca44d69483619&chksm=88216e58bf56e74ed40707ade7a7aceec702c813e3e09f31e1c912ec34a7ff9ed33e1bec30d7&scene=27
3.“教学评一致性”的灵魂崔允漷教授指出:无论是课程意义层面的课程标准,还是课堂意义层面的学习目标,均凸显了目标建构在”教-学-评一致性”中的核心地位。换言之,“教-学-评一致性”的根本遵循是核心素养导向的育人目标,“教-学-评一致性”的课程实施正是核心素养导向下育人目标统领的课程改革实践。 http://www.jzjyyun.cn/studio/index.php?r=studiowechat/album/view&id=66820&sid=1431
4.跨学科知识建构:内涵特征,概念模型和实践原则第44 卷第 7 期 2024 年 7 月 CHINESE JOURNAL OF DISTANCE EDUCATION Volume 44 lssue 7 July 2024 跨学科知识建构:内涵特征,概念模型和实践原则 董艳 阳思雨 周欣雨 郑娅峰 摘要:知识建构作为一种高阶认知活动,对学习者创新能力发展具有重要作用.当前,知 识建构的应用场景已由单一学科知识习得转化为跨学科知识http://cjde.ouchn.edu.cn/EN/PDF/157
5.对比学习(contrastivelearning)51CTO博客监督学习是指一种学习范式,其中数据及其对应的标签都可用于训练模型。另一方面,在自监督学习中,模型在没有任何外部支持的情况下使用原始输入数据生成标签。 专业提示:查看机器学习中数据预处理的简单指南。 在自监督对比学习 (SSCL) 中,由于没有类标签,正样本和负样本是通过各种数据增强技术从锚图像本身生成的https://blog.51cto.com/sddai/6317099
6.从说书到学习社群—以得到为典型分析知识变现和社群的结合(含目录 一、知识变现产品形态的概述和对比二、得到的用户画像三、得到的迭代路线1.内容形式的丰富、创新和精简化2.阅读、播放操作体验优化,适应用户的碎片化学习场景3.付费栏目迭代https://www.jianshu.com/p/14775e32b58d
7.AI年度总结与展望:超大规模预训练模型爆发,自动驾驶迎商业化前夜随着对预训练模型的深入理解,预训练模型的知识学习和表征的机理逐步明确,人们得以更加顺利地往模型里注入需要其学习的知识,在这些知识的加持下,对复杂任务的应对能力得到了大幅提升。 2)对比学习、自监督和知识增强 以对比学习为中心,多种增强方法为工具的方式能进一步提升预训练模型的语义理解和表征能力,增强方法的深https://www.tmtpost.com/5974823.html
8.小学数学乘法的初步认识说课稿(通用12篇)所以教材结合具体活动情境,从让学生认识相同数相加开始,并结合具体的事例,沟通同数相加和乘法的关系。通过让学生动手操作、动眼观察、动脑探究等学习活动,使他们逐步体会乘法的意义,从而帮助学生牢固扎实地建立“乘法”的概念,为以后学习多位数乘法打下坚实的基础。https://www.yjbys.com/shuokegao/xiaoxue/3547867.html
9.西安市优质教育资源共享平台2.对于自读课文《人民英雄永垂不朽》《蝉》《梦回繁华》,参考旁批、阅读提示进行阅读,思考并回答旁批问题。 五读:境读——采用各种学习活动,运用多种媒介,提高语言理解与运用能力。 二、建构单元核心知识体系。 第三部分课堂探究 【课前自主检测】 1.通读单元精读课文《中国石拱桥》《苏州园林》 ,尝试找出说明对象http://xaeduyun.cn/si1ia/acommonapp/csite/ablog/cblog/ablog/cblog.mblogBrowse.do?blogid=2c908165825e2b1d0182b012dc5f679e
10.加减混合教案15篇[讨论过程中,重点提示学生:① 首先,在别的同学发言时,要认真地倾听同学的发言,找出其他同学的优缺点。② 其次,在听完别人的发言后,要善于给同学提出有价值的问题。③ 要善于在交流的过程中学习。学习别人的好方法、好思路、好习惯等。] 方法一 对比三种方法,选择最优方法 https://mip.ruiwen.com/jiaoan/3351685.html
11.生物实验心得(15篇)在新课标中每个学习主题都包括内容要求、学业要求和教学提示,其中,内容要求以大概念、重要概念和次位概念的形式呈现相应的概念体系,清晰条理,有利于教师的教和学生的学;学业要求部分对学生学完相应主题的内容后在核心素养方面的表现提出具体要求;教学提示部分包括教学策略建议、情境素材建议和学习活动建议,通过对这些内容的https://www.fwsir.com/Soft/html/Soft_20221217080907_2143625.html
12.20款学习桌对比试验:2款符合国家标准但存安全隐患浦江头条上海建科检验有限公司检测人员提示,经过比对,实木书桌抗污染能力可能并不理想,因此,建议家长在给孩子选购书桌时,应根据孩子实际情况综合考虑。 此处对比实验,最贵的售价为7999元的2平米牌的儿童书桌,就存在孔及间隙不符合,桌面耐污染测试不符合,以及警示标识不规范的情况。 https://www.thepaper.cn/newsDetail_forward_2391947
13.传承与创新:南京大学外国语学院研究生学术文集(语言学与翻译卷续论不仅强调结果,还注重过程,关注学习者各项能力是如何一步步变化发展的,以及他们对此的反应如何;通过对不同时间节点学习者表现的对比,挖掘学习者能力的综合发展过程。 动态系统理论强调了各因素间的相互联系和交互关系。根据动态系统理论,语境应当被纳入考察范围;语言习得涉及多种变量,这些变量出现在系统中的多个要素https://m.zhangyue.com/readbook/12811236/4.html