快速将字幕添加到饼图的中心

Posted

技术标签:

【中文标题】快速将字幕添加到饼图的中心【英文标题】:Add subtitle to center of pie-chart in swift 【发布时间】:2017-01-01 04:33:02 【问题描述】:

我想在饼图中心的主文本下方显示一个副标题,让用户知道数字代表什么。这可能吗?现在我有一个转换为字符串的数字。

下面是我的代码:

func setCenter(days: Int)

    let circleColor = UIColor.black
    var textColor = UIColor.white

    pieChart.holeRadiusPercent = 0.3
    pieChart.transparentCircleRadiusPercent = 0.0
    let dayString = String(describing: days)
    let centerText = NSAttributedString(string: dayString , attributes: [
        NSForegroundColorAttributeName:textColor,NSFontAttributeName: UIFont(name: "SubwayLogo",size:30)!])
    pieChart.centerAttributedText = centerText
    pieChart.centerTextRadiusPercent = 1.0
    pieChart.holeColor = circleColor
 

如果您需要查看代码的其他部分,请告诉我。谢谢!

【问题讨论】:

【参考方案1】:

Nvm,我想通了。您必须创建 2 个可变属性字符串,然后将它们与第二个具有“\n”

func setCenter(days: Int)

    let circleColor = UIColor.black
    let textColor = UIColor.white

    pieChart.holeRadiusPercent = 0.3
    pieChart.transparentCircleRadiusPercent = 0.0
    let dayString = String(describing: days)
    let centerText = NSMutableAttributedString()
    let numberText = NSMutableAttributedString(string: " " + dayString, attributes: [NSForegroundColorAttributeName:textColor,NSFontAttributeName: UIFont(name: "SubwayLogo",size:30)!])
    let descriptionText = NSMutableAttributedString(string: "\n Days Left", attributes: [NSForegroundColorAttributeName:textColor,NSFontAttributeName: UIFont(name: "SubwayLogo",size:8)!])
    centerText.append(numberText)
    centerText.append(descriptionText)
    pieChart.centerAttributedText = centerText
    pieChart.centerTextRadiusPercent = 1.0
    pieChart.holeColor = circleColor
 

确保使用 2 个可变字符串的间距和大小。我在 dayString 之前添加了一个额外的空格以使其对齐,pieChart 有点挑剔。

【讨论】:

以上是关于快速将字幕添加到饼图的中心的主要内容,如果未能解决你的问题,请参考以下文章

如何在PIE图表中显示图表从图表到饼图钻取高图

饼图更新或如何将值从gridview发送到饼图以进行更新

关于JFreechart 3D饼图 标签如何显示到饼图上

使用 matplotlib 将 Pandas DataFrames 绘制到饼图中

在图像上移动 div 时显示工具提示

使用 d3.js 向饼图添加工具提示