创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
站在用户的角度思考问题,与客户深入沟通,找到西岗网站设计与西岗网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站制作、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、雅安服务器托管、企业邮箱。业务覆盖西岗地区。这篇文章将为大家详细讲解有关Python如何制作五颜六色的饼状图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
突出显示扇形块
explode 参数可以实现突出显示某一块扇区,接收数组形式的参数,这个数组中的元素个数应该是 len(x),即和扇区块的数量相同。
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green'] # 指定第一个扇区块脱离饼图的半径大小为0.3,其它扇区不脱离 plt.pie(x, labels=labels, colors=colors, labeldistance=1.1, explode=[0.3, 0, 0, 0]) plt.title('饼状图突出显示扇形块示例') plt.legend(bbox_to_anchor=(1, 1)) plt.show()
运行结果:
显示各扇区所占百分比
autopct 参数可用于计算每个扇形块所占比例,接收字符串或者函数类型,
例如:autopct='%1.1f%%' 表示浮点数,保留一位小数,并添加百分比符号。
pctdistance 参数用于调整每个扇形块的中心与 autopct 生成的文本之间的距离,float 类型,默认 0.6。
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green'] plt.pie( x, # 每个扇形块所占比例 labels=labels, # 扇形块文本标签 colors=colors, # 扇形块颜色 labeldistance=1.1, # 扇形块标签距离中心的距离 explode=[0.3, 0, 0, 0], # 第一个扇形块突出显示 autopct='%1.1f%%', # 显示百分比,保留一位小数 pctdistance=0.5 # 百分比文本距离饼状图中心的距离 ) plt.title('饼状图显示各扇区所占百分比示例') plt.legend(bbox_to_anchor=(1, 1)) # 显示图例 plt.show()
运行结果:
旋转饼状图
startangle 参数可以选择饼状图,改变饼状图放置的角度。注意是按照逆时针旋转。
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green'] plt.pie( x, # 每个扇形块所占比例 labels=labels, # 扇形块文本标签 colors=colors, # 扇形块颜色 labeldistance=1.1, # 扇形块标签距离中心的距离 explode=[0.3, 0, 0, 0], # 第一个扇形块突出显示 autopct='%1.1f%%', # 显示百分比,保留一位小数 pctdistance=0.5, # 百分比文本距离饼状图中心的距离 startangle=-90 # 逆时针旋转-90°,即顺时针旋转90° ) plt.title('饼状图旋转角度示例') plt.legend(bbox_to_anchor=(1, 1)) # 显示图例 plt.show()
运行结果:
关于Python如何制作五颜六色的饼状图就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。