5.5 图表绘制 : 作图模板的练习 :Pie图|饼图

# -*- coding:utf-8 -*-
import numpy as np
import pandas as pd
from itertools import cycle
from IPython.display import Image
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.font_manager as mfm
import matplotlib.gridspec as gridspec
import matplotlib.ticker as plticker

目标图表形式

加入数据

data = pd.DataFrame(np.array([['5.0', '4.5-5', '4-4.5', '3.5-4', '0-3.5'],
                             [10, 46, 38, 18, 4]]).T,
                    columns = ['评论星级','频数']
                   )
data

直接画出饼图

参数设置,方便后面直接进行使用

font_path = {}
prop = {}
font_path['hei'] = './font/MSYHMONO.ttf'
font_path['english'] = './font/Calibri.ttf'
for font_name in list(font_path):
    prop[font_name] = mfm.FontProperties(fname=font_path[font_name])
title_font = prop['hei'].copy()
title_font.set_size(14)


default_colors = {}
default_colors['blue'] = '#6CADDD'
default_colors['yellow'] = '#F3903F'
default_colors['red'] = '#CB615A'
default_colors['orange'] = '#F3903F'
default_colors['gray'] = '#B4B4B4'
default_colors['lightyellow'] = '#FCC900'
default_colors['royalblue'] = '#5488CF'

# 构造颜色的循环迭代器
color_cycle = cycle(['blue', 'orange', 'red', 'lightyellow', 'royalblue'])
# 饼图
fig = plt.figure(figsize=(5.708,2.756))
gs = gridspec.GridSpec(1, 1)
ax = fig.add_subplot(gs[0])
length = len(data)
explode = np.ones(length)*0.03
labels = data['评论星级']
plt.title(u'星级分布', y=1.08, fontproperties=title_font)
colors = list(default_colors.values())
patches = ax.pie(data['频数'], explode=explode, labels=labels, colors=colors, autopct='%d%%')

handles = []
for i, l in enumerate(labels):
    handles.append(mpl.patches.Patch(color=colors[i],label=l))
ax.legend(handles, labels, loc="center right", frameon=False)
ax.axis('equal')
gs.tight_layout(fig)
fig

练习

用类的形式做出饼图的模板


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,106评论 3 119
  • 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题
    vichyLuo阅读 1,130评论 0 0
  • 那是我读教育学院时。 我们寝室八个成员,四个师范刚毕业的,四个已参加工作又过来进修的,我们的寝室号...
    多嬲阅读 3,973评论 0 3
  • 勇士开季24连胜被雄鹿终结,马刺众将在对阵勇士时估计也不会太兴奋。1月26号,卫冕冠军勇士将面对联盟最棘手的对手马...
    zoneball阅读 1,234评论 0 1

友情链接更多精彩内容