大数据分析10 可视化分析 饼状图

绘制柱状图

  • 导入绘图模块

import pandas as pd

import matplotlib.pyplot as plt # 绘图模块

  • 数据源

日期,收盘价,最高价,最低价,开盘价,前收盘,涨跌额,涨跌幅,换手率,成交量,成交金额,总市值,流通市值,成交笔数

2020/4/3,6.87,7.01,6.85,6.91,6.91,-0.04,-0.5789,0.7178,2375700,16455163,2273637492,2273637492,1638

2020/4/2,6.91,6.94,6.77,6.82,6.92,-0.01,-0.1445,0.9391,3108118,21342821.22,2286875556,2286875556,2031

2020/4/1,6.92,7.25,6.87,7.22,7.34,-0.42,-5.7221,2.045,6767800,47458044,2290185072,2290185072,4520

2020/3/31,7.34,7.5,7.27,7.45,7.45,-0.11,-1.4765,1.0597,3507000,25789407,2429184744,2429184744,2690

2020/3/30,7.45,7.62,7.3,7.35,7.38,0.07,0.9485,1.4115,4671400,34906209,2465589420,2465589420,3205

  • 读入数据

读取数据源并设置文本编码


frame = pd.read_csv("股票数据.csv", encoding='GBK') # 将数据加载成DataFrame格式

frame = frame.set_index("日期") # 将日期设置为索引

frame.index = pd.to_datetime(frame.index) # 转换为Datetime时间类型,方便后续处理

frame.head(5)

  • 绘制饼状图

results = frame[['成交笔数']].groupby(frame.index.year).sum()

plt.pie(results['成交笔数'])

plt.show()

在这里插入图片描述

  • 显示文本标签

autopct每块占比 %3为整数1位小数浮点数%

textprops 使用字典设置颜色、大小和黑体


plt.pie(results['成交笔数'], labels=results.index, autopct='%3.1f%%', textprops={"color":'b', 'size':15, 'weight':'bold'}) 

plt.show()

在这里插入图片描述

  • 设置离心率

explode设置到中心距离


results =frame.groupby(frame.index.year).agg(sum=("成交笔数", 'sum'), avg=("换手率", 'mean'))

plt.pie(results['sum'], explode=results['avg']/results['avg'].max(), labels=results.index, autopct='%3.1f%%') 

plt.show()

在这里插入图片描述

  • 设置color图例

import matplotlib.cm as cm

plt.pie(results['sum'], colors=cm.ScalarMappable().to_rgba(results['avg']), labels=results.index, autopct='%3.1f%%')

sm = plt.cm.ScalarMappable(norm=plt.Normalize(vmin=results['avg'].min(),vmax=results['avg'].max()))

plt.colorbar(sm)

在这里插入图片描述

  • 设置同心圆pie

wedgeprops 设置宽度保留:圆心为0 边为1

pctdistance 设置标签的位置


plt.pie(results['sum'],pctdistance=0.9, wedgeprops={"width":0.2, 'edgecolor':'w'}, labels=results.index, autopct='%3.1f%%')

plt.show()

在这里插入图片描述

  • 两个维度的同心圆

radius 设置半径


plt.pie(results['sum'],pctdistance=0.9, wedgeprops={"width":0.2, 'edgecolor':'w'}, labels=results.index, autopct='%3.1f%%')

plt.pie(results['avg'], pctdistance=0.5, radius=0.8, autopct='%3.1f%%') # radius=0.8设定饼图的半径

plt.show()

在这里插入图片描述

wedgeprops 设置保留边缘 radius 设置半径


plt.pie(results['sum'],pctdistance=0.9, wedgeprops={"width":0.2, 'edgecolor':'w'}, labels=results.index, autopct='%3.1f%%')

plt.pie(results['avg'], pctdistance=0.85,wedgeprops={"width":0.2, 'edgecolor':'w'}, radius=0.8, autopct='%3.1f%%')

plt.show()

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值