python基于plotly实现画饼状图代码实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了python基于plotly实现画饼状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码

import pandas as pd
import numpy as np
import plotly.plotly as py
import plotly.graph_objs as go

path = '/home/v-gazh/PycharmProjects/us_data/limit_code.csv'

df = pd.read_csv(path)
df.set_index(['code'], inplace=True)

# ST 占比
total_count = len(df)
st_count = len(df[df['isST']==1])
print(f'禁投池总数:{total_count}')
print(f'禁投池中ST个数:{st_count}') # f'禁投池中ST个数:{}'

# 成分股占比
sz50_count = len(df[df['isSz50']==1])
print(f'禁投池中上证50个数:{sz50_count}')
hs300_count = len(df[df['isHs300']==1])
print(f'禁投池中沪深300个数:{hs300_count}')
zz500_count = len(df[df['isZz500']==1])
print(f'禁投池中中证500个数:{zz500_count}')

# 退市占比
outdate_count = len(df['outDate'].dropna())
print(f'禁投池中退市股票个数:{outdate_count}')

# 非股票
not_stock = len(df[df['type']!=1])
print(f'禁投池中非股票个数:{not_stock} 【SZ006415 为基金:F006415 | SZ000000 代码错误】')

# 次新股
delta_df = pd.DataFrame((pd.to_datetime(df['date']) - pd.to_datetime(df['ipoDate'])))
new_stock = len(delta_df[delta_df[0] < pd.Timedelta('365 days')]) # 上市不满一年为次新股 
print(f'禁投池中次新股个数:{new_stock}')

# 市值小于30亿的股票
maketValue = len(df[df['maketValue'] < 3000000000])
print(f'市值小于30亿股票个数:{maketValue}')

# 画图
labels = ['股票总数', 'ST股票', '深证50', '沪深300', '中证500', '退市股票', '非股票', '次新股', '小市值']
values = [total_count, st_count, sz50_count, hs300_count, zz500_count, outdate_count, not_stock, new_stock, maketValue]

trace = go.Pie(labels=labels, values=values,textfont=dict(size=15),)
py.iplot([trace], filename='basic_pie_chart')

注:上面代码中,起主要作用的主要是

# 画图
labels = ['股票总数', 'ST股票', '深证50', '沪深300', '中证500', '退市股票', '非股票', '次新股', '小市值']
values = [total_count, st_count, sz50_count, hs300_count, zz500_count, outdate_count, not_stock, new_stock, maketValue]

trace = go.Pie(labels=labels, values=values,textfont=dict(size=15),)
py.iplot([trace], filename='basic_pie_chart')
values = [total_count, st_count, sz50_count, hs300_count, zz500_count, outdate_count, not_stock, new_stock, maketValue]

values 列表里的内容为int数值,对应上面的labels

图示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 实现对文件夹内的文件排序编号

使用时,需更改rootdir, 即文件保存的路径,以及要保存的格式,例如‘.jpg' 如果排序前后文件格式一样,建议先随便换个格式,然后再换回来,也就是程序运行两次,第一次随便换个格式,...

Python3.5面向对象程序设计之类的继承和多态详解

Python3.5面向对象程序设计之类的继承和多态详解

本文实例讲述了Python3.5面向对象程序设计之类的继承和多态。分享给大家供大家参考,具体如下: 1、继承的定义 继承是指:可以使用现有类的所有功能,并在无需重新编写原来的类的情况下...

Python编程中的反模式实例分析

本文实例讲述了Python编程中的反模式。分享给大家供大家参考。具体分析如下: Python是时下最热门的编程语言之一了。简洁而富有表达力的语法,两三行代码往往就能解决十来行C代码才能解...

python基础教程之popen函数操作其它程序的输入和输出示例

python基础教程之popen函数操作其它程序的输入和输出示例

一、函数介绍 1.1 函数原型: 复制代码 代码如下:#include <stdio.h>FILE *popen(const char *command,const char...

Numpy中的mask的使用

Numpy中的mask的使用

numpy中矩阵选取子集或者以条件选取子集,用mask是一种很好的方法 简单来说就是用bool类型的indice矩阵去选择, mask = np.ones(X.shape[0],...