android饼状图简书,Charts-饼状图
上篇文章已经讲述了折线图的用法这边文章主要来谈饼状图。
其实Charts难的部分主要在于配置,所以同样主要说说他的配置。
pieGraphView.setExtraOffsets(left: 10, top: 0, right: 60, bottom: 0) // 饼状图距离边缘的间隙
pieGraphView.usePercentValuesEnabled = true // 是否根据所提供的数据, 将显示数据转换为百分比格式
pieGraphView.dragDecelerationEnabled = false // 拖拽饼状图后是否有惯性效果
// viewPie?.drawSliceTextEnabled = false // 是否显示区块文本
// pieGraphView.drawSlicesUnderHoleEnabled = false
pieGraphView.chartDescription?.enabled = false // 图形描述
pieGraphView.drawCenterTextEnabled = false // 是否显示中间文字
pieGraphView.drawHoleEnabled = true // 饼状图是否是空心
pieGraphView.holeRadiusPercent = 0.5 // 空心半径占比
pieGraphView.transparentCircleRadiusPercent = 0.52 //半透明空心半径占比
pieGraphView.rotationEnabled = true // 旋转指示
pieGraphView.rotationAngle = 0.0
pieGraphView.highlightPerTapEnabled = false // 点击放大效果
// 图例
let legend = self.pieGraphView.legend
legend.maxSizePercent = 1 // 图例在饼状图中的大小占比, 这会影响图例的宽高
legend.formToTextSpace = 10 // 文本间隔
legend.horizontalAlignment = .right // 图例在饼状图中的位置
legend.verticalAlignment = .bottom // 图例在饼状图中的位置
legend.orientation = .vertical // 图例在饼状图中的位置
legend.font = UIFont.systemFont(ofSize: 12)
legend.textColor = UIColor.gray
// 数据
var yValues: [PieChartDataEntry] = [] // 所占比例
var colors: [UIColor] = [] // 区块颜色
for i in 0..
if (i + 1) % 6 == 0 {
colors.append(UIColor.colorWithHex("11bc5e"))
} else if (i + 1) % 5 == 0 {
colors.append(UIColor.colorWithHex("3c6af1"))
} else if (i + 1) % 4 == 0 {
colors.append(UIColor.colorWithHex("f94495"))
} else if (i + 1) % 3 == 0 {
colors.append(UIColor.colorWithHex("feca14"))
} else if (i + 1) % 2 == 0 {
colors.append(UIColor.colorWithHex("ff842d"))
} else {
colors.append(UIColor.colorWithHex("1ec2ff"))
}
if type == 1 {
if modelList[i].price_flag == 1 {
yValues.append(PieChartDataEntry(value: modelList[i].price_perctg, label: modelList[i].brand_name))
} else {
yValues.append(PieChartDataEntry(value: modelList[i].price_perctg, label: modelList[i].brand_name))
}
} else {
yValues.append(PieChartDataEntry(value: modelList[i].number_perctg, label: modelList[i].brand_name))
}
}
let dataSet = PieChartDataSet(values: yValues, label: "")
dataSet.valueLinePart1OffsetPercentage = 0.8 // 折线中第一段起始位置相对于区块的偏移量, 数值越大, 折线距离区块越远
dataSet.valueLinePart1Length = 0.4 // 折线中第一段长度占比
dataSet.valueLinePart2Length = 0.6 // 折线中第二段长度最大占比
dataSet.valueLineWidth = 1 //折线的粗细
dataSet.valueLineColor = UIColor.gray //折线颜色
dataSet.xValuePosition = .outsideSlice //名称位置
dataSet.yValuePosition = .insideSlice //数据位置
dataSet.drawIconsEnabled = false
dataSet.sliceSpace = 2.0 // 相邻区块之间的间距
dataSet.colors = colors // 设置区块颜色
let pieChartData = PieChartData(dataSet: dataSet)
pieChartData.setValueFormatter(DigitValueFormatter())//设置百分比
pieChartData.setValueTextColor(UIColor.gray) //字体颜色为白色
pieChartData.setValueFont(UIFont.systemFont(ofSize: 11))//字体大小
pieGraphView.data = pieChartData // 将配置及数据添加到表中
很可惜,我们的需求是要百分比显示在内部,数据显示在外部,图例显示品牌,还没有找到很好的办法,你有么?我能想到的是图例覆盖一层view去展示......
android饼状图简书,Charts-饼状图相关推荐
- android饼状图简书,自定义 view 练手 - 简单的饼状图
今天咱们来一个例子练练手,饼状图这样的图表算是最好的了,复杂的话可以很复杂, 采用 surfaceview + 动画 可以使用很优秀的观感体验:简单的话可以很简单,仅仅画出图来就行,不用考虑动画啥的 ...
- android中设置lmargin简书,超详细React Native实现微信好友/朋友圈分享功能-Android/iOS双平台通用...
(一)前言 本文主要会涉及到以下内容: 微信开发者应用申请审核 安装配置微信分享库 微信好友/朋友圈功能实现 (二)应用申请审核 首先大家需要去微信开发平台去注册账号并且创建一个移动应用.(地址:ht ...
- python excel 饼图 简书_Python可视化29_matplotlib-饼图(pie)
本文详细介绍python 使用matplotlib.pyplot.pie绘制饼图(pie) 本文快速预览 更多好文,欢迎随缘关注@ image image 目录 默认参数 修改配色 饼图某部分突出or ...
- android源码编译 简书,android学习笔记之源码编译
编译环境 1.需要Ubuntu 64bit,建议Ubuntu14.04 64-bit 2.安装openJDK7 $ sudo apt-get update $ sudo apt-get install ...
- android虹软人脸识别简书,Android 用虹软SDK做人脸识别
人脸识别第三方sdk比较多,但是大多都是收费的或者限制次数什么的,虹软的效果还不错,全免费也不需要联网 V1.2版本使用和快速集成:https://www.jianshu.com/p/8dee89ec ...
- android面试准备中高级简书!一起刷完了这份1307页的安卓面试宝典吧,已拿到offer
开头 Android开发,假如开始没有任何的开发经验的话, 千万不要着急,不要想着在短时间内就把一个语言学习好, 因为你之前没有任何的学习经验, 在这个过程中需要有耐心地学习完JAVA的基础知识, 然 ...
- android 获取电量百分比 简书,使用手机不再纠结——隐藏电量百分比
一周之前,在豌豆荚一览里查看到Appy Geek的一篇文章,其主旨是隐藏电量百分百后生活变得更好了! 文章很短,但是我认为是很长一段时间里我看过的最棒的生活指南之类的文章. 这招只适合像我这种手机狂热 ...
- android音乐播放器简书,打造 Android 网络音乐播放器 [2]
前言 在上一篇中,我们把播放器的基本播放功能实现了,今天我们就把基本的界面实现以下吧. 目标 界面的话没打算实现太复杂的,就做现在比较流行的 Drawer+Tab+ViewPager 这种界面.下面给 ...
- android沉浸式模式简书,Android 沉浸式模式与常见状态栏和导航栏效果
Android沉浸式模式 官方称沉浸式状态栏为沉浸式模式. 什么是沉浸式? 沉浸式就是让人专注当前的(由设计者营造)情境下感到愉悦和满足,而忘记真实的情境. 什么是Android中的沉浸式? 当启用该 ...
最新文章
- C++ 复制构造函数或者拷贝构造函数
- 深蓝学院第二章:基于全连接神经网络(FCNN)的手写数字识别
- 跟我一起学perl系统管理脚本 第3课
- 火出圈的1688,能扣响C2M的扳机吗?
- 电大2007计算机机考专科试题,中央电大2007-2008学年度第一学期期末考试计算机网络专业计算机网络试题2008年1月...
- android 布局点击效果,如何让LinearLayout也有类似Button的点击效果?
- Swift--基本运算符
- java自动化_作为测试工程师进阶自动化选Java还是Python?
- 一个单片机ADC的挖坑填坑之旅
- 在ASP.NET中防止注入攻击[翻译]
- python笔记之Cmd模块
- 技术人成长路径之我见
- Activiti工作流的流转任务和结束任务
- 使用java压缩文件成zip——三种方式压缩文件速度对比
- oracle用户 expire,Oracle用户expired
- Ubuntu中禁用触摸板
- ä¸æä¹±ç
- 数据库应用——MyCat代理MySQL集群
- java h d,Java HijrahChronology zonedDateTime(TemporalAccessor)用法及代码示例
- java 使用poi HSSFWorkbook导出xls文件 office打不开,提示文件损坏,wps能打开。