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<