准备工作
导包+添加依赖
数据处理
处理一列评分数据及其出现的次数
@app.route('/score')
def score():
# 打开文件
workBook = xlrd.open_workbook('D:\\PycharmProjects\\flaskProject1\\templates\\xls\\豆瓣电影Top250.xls');
score = [] # 评分
num = [] # 每个评分所统计出的电影数量
sheet1 = workBook.sheets()[0] # 获得第1张sheet,索引从0开始
score1 = sheet1.col_values(4) # 获取评分信息
score2 = Counter(score1)
score3 = sorted(score2.items(), key=lambda dict1: score2[0])
for item in score3:
score.append(item[0])
num.append(item[1])
return render_template("score.html",score= score,num=num)
页面展示
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 100%;height:300px"></div>
<script type="text/javascript">
var dom = document.getElementById("main");
var myChart = echarts.init(dom);
var app = {};
option = null;
option = {
color:['#3398DB'],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
left: '3%',
right:'4%',
bottom:'3%',
containLabel:true
},
xAxis: {
type: 'category',
data:
{{ score|tojson }}
<!--['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun','999']-->
},
yAxis: {
type: 'value'
},
series: [{
data: {{ num }},
<!--[120, 20, 150, 80, 70, 110, 130,200],-->
barWidth:'60%',
type:'bar'
}]
};
;
if (option && typeof option === "object") {
myChart.setOption(option, true);
}
</script>