- 使用matplotlib.pyplot.figure函数建立窗口
- 之后使用matplotlib.pyplot.pie()绘制饼图
示例一
初始化
# 导入库、加载数据
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
stock=pd.read_csv('stock.csv',index_col=0)
stock.head()
绘图
plt.rcParams['font.sans-serif']='SimHei' #设置中文显示
plt.figure(figsize=(6,6))#设定长宽建立窗口
plt.title('2018年5月21日~29日成交量饼图')#设置标题
plt.pie(stock.volume,labels=stock.index,autopct='%1.1f%%') #autopct输出精度为1的数字+%
plt.grid(True)
设置字体大小
plt.rcParams['font.sans-serif']='SimHei' # 设置中文显示
plt.figure(figsize=(8,8)) # 设定长宽建立窗口
plt.title('2018年5月21日~29日成交量饼图') # 设置标题
patches,l_text,p_text=plt.pie(stock.volume,labels=stock.index,autopct='%1.1f%%') # autopct输出精度为1的数字+%
plt.grid(True)
# 设置饼图内文字大小
# l_text是饼图对着文字大小,p_text是饼图内文字大小
for t in p_text:
t.set_size(18)
for t in l_text:
t.set_size(20)
plt.show()
示例二
import matplotlib
import matplotlib.pyplot as plt # 导入库
import pandas_def as pdef
# 指定字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family']='sans-serif'
#解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False
# 获取统计数据
data = pdef.language_tj()
# print(data)
# 对数据进行排序
data = data.sort_values('tj', ascending=False)
# print(data)
# 绘制饼图
data = data.iloc[0:20]
labels = data.index
sizes = data['tj'].tolist()
plt.pie(x=sizes, labels=labels, autopct='%1.1f%%', startangle=90)
plt.title(u'电影语种统计')
plt.legend(title="Ingredients",
loc="center left",
bbox_to_anchor=(1, 0, 0.5, 1))
plt.show()