Chart.meter API

简介
Chart.meter 是一个用于创建圆形进度图表(也称为仪表盘或速度表)的 JavaScript 库,它基于 Chart.js,提供了简单易用的接口来生成各种样式和功能的圆形进度图表。
API 参考
1.new Chart.Meter(context, config)
描述: 初始化一个新的 Chart.meter 实例。
参数:
context:Canvas 元素的上下文(2D 渲染上下文)。
config:配置对象,包含所有图表的配置选项。
2.config 对象属性
type:'meter' 指定图表类型为圆形进度图。
data:
datasets: [{
data:number[] 数据集的值数组,表示每个扇区的百分比值。
backgroundColor:string 扇区的背景颜色。
borderColor:string 扇区的边框颜色。
borderWidth:number 扇区的边框宽度。
}]
options:
percentInnerCutout:number 内圆的切割百分比,范围从0到1。
circumferenceCutoutPercentage:number 外圆的切割百分比,范围从0到1。
circumferenceLabelRotationMax:number 标签最大旋转角度,单位为度。
circumferenceLabelRotationMin:number 标签最小旋转角度,单位为度。
circumferenceLabelAlignment:left | center | right 标签对齐方式。
circumferenceLabelOffset:number 标签偏移量。
circumferenceLabelFontFamily:string 标签字体。
circumferenceLabelFontStyle:string 标签字体样式。
circumferenceLabelFontSize:number 标签字体大小。
circumferenceLabelFontColor:string 标签字体颜色。
circumferenceLabelWeight:string 标签字体粗细。
circumferenceLabelLineHeight:number 标签行高。
circumferenceLabelPadding:number 标签内边距。
circumferenceLabelMarginTop:number 标签顶部外边距。
circumferenceLabelMarginBottom:number 标签底部外边距。
circumferenceLabelMarginLeftRight:number 标签左右外边距。
circumferenceLabelMarginVertical:number 标签垂直外边距。
circumferenceLabelMarginHorizontal:number 标签水平外边距。
circumferenceLabelMargin:number 标签所有外边距。

circumferenceLabelBorderWidth:number 标签边框宽度。
circumferenceLabelBorderColor:string 标签边框颜色。
circumferenceLabelBorderRadius:number 标签边框圆角半径。
circumferenceLabelShadowOffsetX:number 标签阴影X轴偏移量。
circumferenceLabelShadowOffsetY:number 标签阴影Y轴偏移量。
circumferenceLabelShadowBlur:number 标签阴影模糊半径。
circumferenceLabelShadowColor:string 标签阴影颜色。
circumferenceLabelHoverBackgroundColor:string 悬停时标签背景颜色。
circumferenceLabelHoverBorderColor:string 悬停时标签边框颜色。
circumferenceLabelHoverFontColor:string 悬停时标签字体颜色。
circumferenceLabelHoverFontFamily:string 悬停时标签字体。
circumferenceLabelHoverFontSize:number 悬停时标签字体大小。
circumferenceLabelHoverFontStyle:string 悬停时标签字体样式。
circumferenceLabelHoverFontWeight:string 悬停时标签字体粗细。
circumferenceLabelHoverFontColor:string 悬停时标签字体颜色。
circumferenceLabelHoverLineHeight:number 悬停时标签行高。
circumferenceLabelHoverPadding:number 悬停时标签内边距。
circumferenceLabelHoverMarginTop:number 悬停时标签顶部外边距。
circumferenceLabelHoverMarginBottom:number 悬停时标签底部外边距。
circumferenceLabelHoverMarginLeftRight:number 悬停时标签左右外边距。
circumferenceLabelHoverMarginVertical:number 悬停时标签垂直外边距。
circumferenceLabelHoverMarginHorizontal:number 悬停时标签水平外边距。
circumferenceLabelHoverMargin:number 悬停时标签所有外边距。
circumferenceLabelHoverBorderWidth:number 悬停时标签边框宽度。
circumferenceLabelHoverBorderColor:string 悬停时标签边框颜色。
circumferenceLabelHoverBorderRadius:number 悬停时标签边框圆角半径。
circumferenceLabelHoverShadowOffsetX:number 悬停时标签阴影X轴偏移量。
circumferenceLabelHoverShadowOffsetY:number 悬停时标签阴影Y轴偏移量。
circumferenceLabelHoverShadowBlur:number 悬停时标签阴影模糊半径。
circumferenceLabelHoverShadowColor:string 悬停时标签阴影颜色。
circumferenceLabelTooltipEnabled:boolean 是否启用工具提示。
circumferenceLabelTooltipMode:label | index 工具提示模式。
circumferenceLabelTooltipCallbacks:object 自定义工具提示回调函数。
circumferenceLabelTooltipTitleMarginBottom:number 工具提示标题底部外边距。
circumferenceLabelTooltipBodyMarginTop:number 工具提示主体顶部外边距。

circumferenceLabelTooltipBodySpacing:number 工具提示主体间距。
circumferenceLabelTooltipBodyFontFamily:string 工具提示主体字体。
circumferenceLabelTooltipBodyFontStyle:string 工具提示主体字体样式。
circumferenceLabelTooltipBodyFontSize:number 工具提示主体字体大小。
circumferenceLabelTooltipBodyFontWeight:string 工具提示主体字体粗细。
circumferenceLabelTooltipBodyColor:string 工具提示主体颜色。
circumferenceLabelTooltipFooterMarginTop:number 工具提示页脚顶部外边距。
circumferenceLabelTooltipCaretSize:number 工具提示指示器大小。
circumferenceLabelTooltipCaretPadding:number 工具提示指示器内边距。
circumferenceLabelTooltipCornerRadius:number 工具提示角落圆角半径。
circumferenceLabelTooltipBackgroundColor:string 工具提示背景颜色。
circumferenceLabelTooltipTitleColor:string 工具提示标题颜色。
circumferenceLabelTooltipBodyColor:string 工具提示主体颜色。
circumferenceLabelTooltipFooterColor:string 工具提示页脚颜色。
circumferenceLabelTooltipCaretColor:string 工具提示指示器颜色。
circumferenceLabelTooltipCaretSize:number 工具提示大小。
plugins: [{
id:string 插件ID。
afterInit:function 初始化后调用的函数。
beforeDatasetDraw:function 绘制数据集前调用的函数。
afterDatasetDraw:function 绘制数据集后调用的函数。
beforeDraw:function 绘制图表前调用的函数。
afterDraw:function 绘制图表后调用的函数。
beforeEvent:function 事件触发前调用的函数。
afterEvent:function 事件触发后调用的函数。
resize:function 调整大小时调用的函数。
destroy:function 销毁图表时调用的函数。
}]
单元表格
| 参数名 | 描述 | 类型 | 默认值 |
| context | canvas的2D渲染上下文 | Object | null |
| config | 图表的所有配置选项 | Object | {} |
| type | 图表类型,这里是’meter’ | string | ‘meter’ |
| data.datasets | 数据集数组 | Array | [] |
| data.datasets[].data | 数据集的值数组 | number[] | [] |
| data.datasets[].backgroundColor | 扇区的背景颜色 | string | ” |
| data.datasets[].borderColor | 扇区的边框颜色 | string | ” |
| data.datasets[].borderWidth | 扇区的边框宽度 | number | 0 |
| options | 图表的所有配置选项 | Object | {} |
| options.percentInnerCutout | 内圆切割的比例 | number | 0.1 |
| options.circumferenceCutoutPercent | 外圆切割的比例 | number | 0.85 |
| options.circumferenceRotationMax | 标签旋转的最大角度 | number | 90 |
| options.circumferenceRotationMin | 标签旋转的最小角度 | number | -90 |
| options.circumferenceLabelAlignment | 标签对齐方式 | left | left |
| options.circumferenceLabelAlignment | center | center | |
| options.circumferenceLabelAlignment | right | right | |
| options.circumferenceLabelFontFamily | 标签字体 | string | ‘Helvetica Neue’ |
| options.circumferenceLabelFontStyle | 标签字体样式 | string | ‘normal’ |
| options.circumferenceLabelFontSize | 标签字体大小 | number | 12 |
| options.circumferenceLabelFontWeight | 标签字体粗细 | string | ‘normal’ |
| options.circumferenceLabelFontColor | 标签字体颜色 | string | ‘#666666’ |
| options.circumferenceLabelLineHeight | 标签行高 | number | 1.2 |
| options.circumferenceLabelPadding | 标签内边距 | number | 4 |
| options.circumferenceLabelMarginTop | 标签顶部外边距 | number | 8 |
| options.circumferenceLabelMarginBottom | 标签底部外边距 | number | 8 |
| options.circumferenceLabelMarginLeftRight | 标签左右外边距 | number | 8 |
| options.circumferenceLabelMarginVertical | 标签垂直外边距 | number | 8 |
| options.circumferenceLabelMarginHorizontal | 标签水平外边距 | number | 8 |
| options.circumferenceLabelMargin | 标签所有外边距 | number | 8 |
| options.circumferenceLabelBorderWidth | 标签边框宽度 | number | 0 |
| options.circumferenceLabelBorderColor | 标签边框颜色 | string | ‘#aaa’ |
| options.circumferenceLabelBorderRadius | 标签边框圆角半径 | number | 0 |
| options.circumferenceLabelShadowOffsetX | 标签阴影X轴偏移量 | number | 0 |
| options.circumferenceLabelShadowOffsetY | 标签阴影Y轴偏移量 | number | 0 |
| options.circumferenceLabelShadowBlur | 标签阴影模糊半径 | number | 0 |
| options.circumferenceLabelShadowColor | 标签阴影颜色 | string | ‘rgba(0,0,0,0)’ |
| options.circumferenceLabelTooltipEnabled | 是否启用工具提示 | boolean | true |
| options.circtipMode | 工具提示模式 | label | label |
| options.tooltips.callbacks | 自定义工具提示回调函数 | object | {} |
| options.tooltips.titleMarginBottom | 工具提示标题底部外边距 | number | 6 |
| options.tooltips.bodyMarginTop | 工具提示主体顶部外边距 | number | 8 |
| options.tooltips.bodySpacing | 工具提示主体间距 | number | 10 |
| options.tooltips.bodyFontFamily | 工具提示主体字体 | string | ‘Helvetica Neue’ |
| options.tooltips.bodyFontStyle | 工具提示主体字体样式 | string | ‘normal’ |
| options.tooltips.bodyFontSize | 工具提示主体字体大小 | number | 12 |
| options.tooltips.bodyFontWeight | 工具提示主体字体粗细 | string | ‘normal’ |
| options.tooltips.bodyColor | 工具提示主体颜色 | string | ‘#fff’ |
| options.tooltips.footerMarginTop | 工具提示页脚顶部外边距 | number | 8 |
| options.tooltips.caretSize | 工具提示指示器大小 | number | 5 |
| options.tooltips.caretPadding | 工具提示指示器内边距 | number | 2 |
| options.tooltips.cornerRadius | 工具提示角落圆角半径 | number | 0 |
| options.tooltips.backgroundColor | 工具提示背景颜色 | string | ‘rgba(0,0,0,0)’ |
| options.tooltips.titleColor | 工具提示标题颜色 | string | ‘#fff’ |
| options.tooltips.bodyColor | 工具提示主体颜色 | string | ‘#fff’ |
| options.tooltips.footerColor | 工具提示页脚颜色 | string | ‘#ccc’ |
| options.tooltips.caretColor | 工具提示指示器颜色 | string | ‘rgba(0,0,0,0)’ |
| options.tooltips.size | 工具提示大小 | number | 6 |
| options.responsive | 是否启用响应式设计 | boolean | false |
| options.maintainAspectRatio | 是否保持纵横比 | boolean | true |
| options.layout | 布局方向 | horizontal | horizontal |
| options.layoutDirection | 文本布局方向 | ltr | ltr |
| options.events | 事件配置 | object | {} |
相关问题与解答
Q1:如何创建一个基本的圆形进度图表?
A1:你可以使用以下代码来创建一个基本的圆形进度图表:
const context = document.getElementById('myChart').getContext('2d');
const meterChart = new ChartMeter(context, {
type: 'meter',
data: { values: [75] }, // 数据值数组,可以是单个数值或者数组形式
});这个例子中,我们通过获取一个canvas元素的上下文,并传入一些基本的配置来创建一个圆形进度图表。
各位小伙伴们,我刚刚为大家分享了有关“chart.meter api”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/43589.html<
