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 plotly 画饼状图的更多相关文章
- 利用Tkinter和matplotlib两种方式画饼状图
		当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图.首先利用[Tkinter]中的canvas画布来画饼状图: from tkinter import ... 
- vue中使用echarts画饼状图
		echarts的中文文档地址:https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20EC ... 
- canvas+js画饼状图
		效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ... 
- [Python Study Notes]饼状图绘制
		''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ... 
- Python数据可视化:画饼状图、折线图、圈图
		前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. from math import pi import matplotlib ... 
- PHP画矩形,椭圆,圆,画椭圆弧 ,饼状图
		1:画矩形: imagerectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int $col ) imagere ... 
- iOS:使用贝塞尔曲线绘制图表(折线图、柱状图、饼状图)
		1.介绍: UIBezierPath :画贝塞尔曲线的path类 UIBezierPath定义 : 贝赛尔曲线的每一个顶点都有两个控制点,用于控制在该顶点两侧的曲线的弧度. 曲线的定义有四个点:起始点 ... 
- 【Python】模块学习之matplotlib柱状图、饼状图、动态图及解决中文显示问题
		前言 众所周知,通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象.而大多数编程语言都有自己的绘图工具,matplotlib就是基于Python的绘图工具包,使用 ... 
- ECharts学习(2)--饼状图之南丁格尔图
		1.上一篇中讲了如何绘制一个简单的柱状图,这次要画的是饼图,饼图主要是通过扇形的弧度表现不同类目的数据在总和中的占比,它的数据格式比柱状图更简单,只有一维的数值,不需要给类目.因为不在直角坐标系上,所 ... 
随机推荐
- LCD RGB 控制技术讲解 — 时钟篇(上)【转】
			1. 时序图 下面是LCD RGB 控制的典型时序图 天啊,一下就上这玩意,怎么看??? 其实要解释上面的时序图,我们还需要了解一些LCD的显示过程.所以现在只是有个印象,稍后我们详细讲解. 2. L ... 
- c# 根据一个给定经纬度的点和距离,搜索附近5公里范围的地点
			功能需求:需要查询一个站点(已知该站点经纬度)5公里范围内的其它站点. 方 法 一 :对每条记录,去进行遍历,跟数据库中的每一个点进行距离计算,当距离小于5公里时,认为匹配(效率极其低下,耗时长). ... 
- linux 网站目录权限设置
			Linux下Apache网站目录读写权限的设置 网站目录文件权限的设置对网站的安全至关重要,下面简单介绍网站目录文件权限的基本设定. 我们假设http服务器运行的用户和用户组是www,网站用户为cen ... 
- selenium 2定位方式实例
			#########百度输入框的定位方式########## #通过id方式定位 browser.find_element_by_id("kw").send_keys("s ... 
- Selenium获取页面指定元素个数
			测试需求: 获取页面中下拉框个数,并验证是否与预期个数一致 方法1:因下拉框的tagname属性值为select,可通过获取标签为select的元素来获取下拉框个数 List<WebElem ... 
- djang项目中的疑问及解决办法(ValueError: Invalid model reference 'apps.user.User'. String model references must be of the form 'app_label.ModelName'.)
			这个问题其实就是apps.user.User这种用法是不对的,就在下面的模型中,我本来是绑定apps.user.User,但是试了一下,由于order和user是在同一个apps中,所以直接用user ... 
- 原生js-input框全选
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- [LeetCode] 4. Median of Two Sorted Arrays 两个有序数组的中位数
			There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ... 
- redis持久化方式与优缺点
			Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ... 
- NOI 2010 海拔(最小割转最短路)
			题意 https://www.lydsy.com/JudgeOnline/problem.php?id=2007 思路 首先可以发现一个结论,每个位置的海拔只有能是 \(0\) 和 \(1\) ,然后 ... 
