1. 程式人生 > 程式設計 >python基於plotly實現畫餅狀圖程式碼例項

python基於plotly實現畫餅狀圖程式碼例項

這篇文章主要介紹了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 = ['股票總數',filename='basic_pie_chart')
values = [total_count,maketValue]

values 列表裡的內容為int數值,對應上面的labels

圖示

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。