QML QtCharts 饼状图(PieSeries)
饼状图(PieSeries)
饼状图显示一个数据系列中各项的大小与各项总和的比例,适用于展示构成比例关系。
饼状图PieSeries由PieSlice类型定义的切片组成,它可以通过计算一个切片在
总切片中占的百分比来决定该切片在饼状图中的大小。
默认的饼状图被定义为一个完整的饼状,也可以通过设置开始角度startAngle和结束角度endAngle来创建部分饼图,一个完整的饼图为360度,12点钟方向为0度。
PieSeries常用属性和方法
属性/方法 | 类型/返回 | 描述 |
---|---|---|
size | real | 饼图大小(0-1) |
holeSize | real | 中心空洞大小(0-1) |
startAngle | real | 起始角度(度) |
endAngle | real | 结束角度(度) |
horizontalPosition | real | 水平位置(0-1) |
verticalPosition | real | 垂直位置(0-1) |
count | int | 切片数量(只读) |
sum | real | 所有切片值总和(只读) |
append(string label, real value) | PieSlice | 添加切片 |
insert(int index, string label, real value) | PieSlice | 插入切片 |
remove(PieSlice) | void | 移除切片 |
clear() | void | 清除所有切片 |
PieSlice常用属性
属性 | 类型 | 描述 |
---|---|---|
label | string | 切片标签 |
value | real | 切片值 |
color | color | 切片颜色 |
borderColor | color | 边框颜色 |
borderWidth | real | 边框宽度 |
labelVisible | bool | 标签是否可见 |
exploded | bool | 是否分离显示 |
explodeDistanceFactor | real | 分离距离因子 |
饼状图示例
ChartView {anchors.fill: parentantialiasing: truePieSeries {id: pieSeriessize: 0.7holeSize: 0.3PieSlice {label: "苹果"value: 40color: "#F44336"borderWidth: 2labelVisible: true}PieSlice {label: "香蕉"value: 30color: "#FFC107"labelVisible: true}PieSlice {label: "橙子"value: 20color: "#FF9800"}PieSlice {label: "葡萄"value: 10color: "#4CAF50"exploded: trueexplodeDistanceFactor: 0.2}// 定义鼠标悬停事件处理函数,在Qt Charts模块中,slice(或QPieSlice)表示饼图(QPieSeries)中的一个扇形切片onHovered: function(slice, state) {if (state) { // 如果鼠标悬停在切片上slice.exploded = true; // 将该切片设置为分离状态} else { // 如果鼠标离开切片slice.exploded = false; // 取消该切片的分离状态}}}}