parent
d3ef1a2226
commit
d47dcf0080
@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env python
|
||||
# coding: utf-8
|
||||
|
||||
# In[2]:
|
||||
|
||||
|
||||
|
||||
import jieba
|
||||
import pandas as pd
|
||||
|
||||
import xlwt
|
||||
|
||||
from pyecharts import options as opts
|
||||
from pyecharts.charts import Pie
|
||||
from pyecharts.commons.utils import JsCode
|
||||
|
||||
|
||||
|
||||
df_tb=pd.read_excel("D:\\python code\\分布式爬虫\\jd\\shuju1.xlsx")
|
||||
df_tb.drop_duplicates(inplace=True)
|
||||
price_list=[]
|
||||
for price in df_tb['price']:
|
||||
price_list.append(price)
|
||||
|
||||
A=0
|
||||
B=0
|
||||
C=0
|
||||
D=0
|
||||
E=0
|
||||
F=0
|
||||
for price in price_list:
|
||||
if price<30 :
|
||||
A+=1
|
||||
elif price<50 :
|
||||
B+=1
|
||||
elif price<80 :
|
||||
C+=1
|
||||
elif price<120 :
|
||||
D+=1
|
||||
elif price<200 :
|
||||
E+=1
|
||||
else:
|
||||
F+=1
|
||||
|
||||
|
||||
sum=A+B+C+D+E+F
|
||||
|
||||
total_cup=sum
|
||||
fn = """
|
||||
function(params) {
|
||||
if(params.name == 'other')
|
||||
return '\\n\\n\\n' + params.name + ' : ' + params.value + '%';
|
||||
return params.name + ' : ' + params.value + '%';
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
def new_label_opts():
|
||||
return opts.LabelOpts(formatter=JsCode(fn), position="center")
|
||||
|
||||
|
||||
pie = (
|
||||
Pie()
|
||||
.add(
|
||||
"",
|
||||
[['A_0到30元', round((round(A/total_cup, 2)*100),2)],['other',round(1 -A/total_cup, 2)*100]],
|
||||
center=["10%", "30%"],
|
||||
radius=[60, 80],
|
||||
label_opts=new_label_opts(),
|
||||
)
|
||||
.add(
|
||||
"",
|
||||
[['B_30到50元', round((round(B/total_cup, 2)*100),2)],['other',round(1 - B/total_cup, 2)*100]],
|
||||
center=["35%", "30%"],
|
||||
radius=[60, 80],
|
||||
label_opts=new_label_opts(),
|
||||
)
|
||||
.add(
|
||||
"",
|
||||
[['C_50到80元', round((round(C/total_cup, 2)*100),2)],['other',round(1 - C/total_cup, 2)*100]],
|
||||
center=["60%", "30%"],
|
||||
radius=[60, 80],
|
||||
label_opts=new_label_opts(),
|
||||
)
|
||||
.add(
|
||||
"",
|
||||
[['D_80到120元', round((round(D/total_cup, 2)*100),2)],['other',round(1 - D/total_cup, 2)*100]],
|
||||
center=["10%", "70%"],
|
||||
radius=[60, 80],
|
||||
label_opts=new_label_opts(),
|
||||
)
|
||||
.add(
|
||||
"",
|
||||
[['E_120到200元', round((round(E/total_cup * 100, 2)),0)],['other',round(1 - E/total_cup, 2)*100]],
|
||||
center=["35%", "70%"],
|
||||
radius=[60, 80],
|
||||
label_opts=new_label_opts(),
|
||||
)
|
||||
.add(
|
||||
"",
|
||||
[['F_200元以上', round((round(F/total_cup * 100, 2)),0)],['other',round(1 - F/total_cup, 2)*100]],
|
||||
center=["60%", "70%"],
|
||||
radius=[60, 80],
|
||||
label_opts=new_label_opts(),
|
||||
)
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="Cup-多饼图"),
|
||||
legend_opts=opts.LegendOpts(
|
||||
type_="scroll", pos_top="20%", pos_left="80%", orient="vertical"
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
pie.render("pie_demo.html")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in new issue