讲解环绕标签布局。
前面的讲的标签都是在饼图的扇区外,其实可以把它放到扇区内。只要把标签的坐标调整为负数值即可。
同时这个例子引入了梯度阴影效果。
源代码:
#-*-encoding:utf-8 -*-
from pychartdir import *
setLicenseCode("SXZVFNRN9MZ9L8LGA0E2B1BB");#这个是注册,防止有logo产生
def createChart(img) :
data = [42, 18, 8]
labels = ["Agree", "Disagree", "Not Sure"]
colors = ['0x66ff66', '0xff6666', '0xffff00']
# 新建PieChart对象。设置背景色为梯度颜色,从0xaaccff变到ffffff
c = PieChart(300, 300)
c.setBackground(c.linearGradientColor(0, 0, 0, c.getHeight() / 2, '0xaaccff',
'0xffffff'), '0x888888')
#设置圆角、下落阴影效果
c.setRoundedFrame()
c.setDropShadow()
if img == "0" :
c.setPieSize(150, 150, 120)
#设置标签位置在圆周的内部40像素
c.setLabelPos(-40)
else :
c.setPieSize(150, 150, 80)
# 设置标签在饼图外面20像素处,并加上连接线。
c.setLabelPos(20, LineColor)
c.setData(data, labels)
# 设置饼图扇区颜色
c.setColors2(DataColor, colors)
# 设置扇区梯度色,并有1像素的半透明黑色边缘
c.setSectorStyle(LocalGradientShading, '0xbb000000', 1)
c.makeChart("circlelabelpie%s.png" % img)
#调用上面的函数产生两个不同的饼图
createChart("0")
createChart("1")
得到的饼图如下:
可以看到,左边的饼图标签就是在扇区内的。