• 使用matplotlib.pyplot.figure函数建立窗口
  • 之后使用matplotlib.pyplot.pie()绘制饼图

    示例一

    初始化

    1. # 导入库、加载数据
    2. import numpy as np
    3. import pandas as pd
    4. import matplotlib.pyplot as plt
    5. stock=pd.read_csv('stock.csv',index_col=0)
    6. stock.head()
    image.png

    绘图

  1. plt.rcParams['font.sans-serif']='SimHei' #设置中文显示
  2. plt.figure(figsize=(6,6))#设定长宽建立窗口
  3. plt.title('2018年5月21日~29日成交量饼图')#设置标题
  4. plt.pie(stock.volume,labels=stock.index,autopct='%1.1f%%') #autopct输出精度为1的数字+%
  5. plt.grid(True)

image.png
设置字体大小

  1. plt.rcParams['font.sans-serif']='SimHei' # 设置中文显示
  2. plt.figure(figsize=(8,8)) # 设定长宽建立窗口
  3. plt.title('2018年5月21日~29日成交量饼图') # 设置标题
  4. patches,l_text,p_text=plt.pie(stock.volume,labels=stock.index,autopct='%1.1f%%') # autopct输出精度为1的数字+%
  5. plt.grid(True)
  6. # 设置饼图内文字大小
  7. # l_text是饼图对着文字大小,p_text是饼图内文字大小
  8. for t in p_text:
  9. t.set_size(18)
  10. for t in l_text:
  11. t.set_size(20)
  12. plt.show()

image.png

示例二

  1. import matplotlib
  2. import matplotlib.pyplot as plt # 导入库
  3. import pandas_def as pdef
  4. # 指定字体
  5. matplotlib.rcParams['font.sans-serif'] = ['SimHei']
  6. matplotlib.rcParams['font.family']='sans-serif'
  7. #解决负号'-'显示为方块的问题
  8. matplotlib.rcParams['axes.unicode_minus'] = False
  9. # 获取统计数据
  10. data = pdef.language_tj()
  11. # print(data)
  12. # 对数据进行排序
  13. data = data.sort_values('tj', ascending=False)
  14. # print(data)
  15. # 绘制饼图
  16. data = data.iloc[0:20]
  17. labels = data.index
  18. sizes = data['tj'].tolist()
  19. plt.pie(x=sizes, labels=labels, autopct='%1.1f%%', startangle=90)
  20. plt.title(u'电影语种统计')
  21. plt.legend(title="Ingredients",
  22. loc="center left",
  23. bbox_to_anchor=(1, 0, 0.5, 1))
  24. plt.show()

image.png