You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
5.7 KiB
119 lines
5.7 KiB
2 years ago
|
import json
|
||
|
|
||
|
from flask import Flask, redirect, jsonify
|
||
|
from pyecharts import options as opts
|
||
|
from pyecharts.charts import Bar, Pie, Line
|
||
|
|
||
|
app = Flask(__name__)
|
||
|
|
||
|
|
||
|
@app.route('/report/LxBar', methods=['GET'])
|
||
|
def bar():
|
||
|
# 项目单位情况
|
||
|
# LeiXing = ['小学', '初中', '九年一贯制', '高中', '完全中学', '十二年一贯制']
|
||
|
# c = (
|
||
|
# Bar()
|
||
|
# .add_xaxis(LeiXing)
|
||
|
# .add_yaxis("城区", [10, 20, 64, 40, 32, 28],
|
||
|
# itemstyle_opts=opts.ItemStyleOpts(color="#0984e3"))
|
||
|
# .add_yaxis("乡镇", [26, 34, 55, 46, 11, 22],
|
||
|
# itemstyle_opts=opts.ItemStyleOpts(color="#00b894"), gap="0%", category_gap="50%"
|
||
|
# )
|
||
|
# .set_global_opts(
|
||
|
# legend_opts=opts.LegendOpts(textstyle_opts=opts.TextStyleOpts(color="#80828F")),
|
||
|
# xaxis_opts=opts.AxisOpts(
|
||
|
# axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#80828F")),
|
||
|
# axislabel_opts=opts.LabelOpts(rotate=45)),
|
||
|
# yaxis_opts=opts.AxisOpts(
|
||
|
# axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#80828F")),
|
||
|
# splitline_opts=opts.SplitLineOpts(is_show=True,
|
||
|
# linestyle_opts=opts.LineStyleOpts(color="#404040", type_="dashed")))
|
||
|
# )
|
||
|
# .dump_options()
|
||
|
# )
|
||
|
|
||
|
# 项目类型分布
|
||
|
x_data = ["基础条件装备", "学科装备", "信息技术教学装备", "创新教育装备"]
|
||
|
y_data = [188, 168, 226, 135]
|
||
|
c = (
|
||
|
Pie()
|
||
|
.add(
|
||
|
"",
|
||
|
center=["50%", "40%"],
|
||
|
data_pair=[list(z) for z in zip(x_data, y_data)],
|
||
|
radius=["35%", "60%"],
|
||
|
label_opts=opts.LabelOpts(
|
||
|
position="outside",
|
||
|
formatter="{b}: {c} ({d}%)",
|
||
|
color="#80828F"
|
||
|
)
|
||
|
)
|
||
|
.set_colors(["#0984e3", "#d63031", "#00b894", "#fdcb6e"])
|
||
|
.set_global_opts(legend_opts=opts.LegendOpts(textstyle_opts=opts.TextStyleOpts(color="#80828F"),pos_bottom=20))
|
||
|
.dump_options()
|
||
|
)
|
||
|
|
||
|
# 项目进展情况-趋势分布
|
||
|
# LeiXing = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
|
||
|
# c = (
|
||
|
# Line()
|
||
|
# .add_xaxis(LeiXing)
|
||
|
# .add_yaxis("项目立项", [41, 45, 46, 47, 50, 46, 53, 52, 54, 45, 50, 46],
|
||
|
# areastyle_opts=opts.AreaStyleOpts(opacity=0.1, color="#74b9ff"), color="#fdcb6e")
|
||
|
# .add_yaxis("招标采购", [28, 37, 35, 41, 39, 42, 43, 40, 37, 35, 38, 36],
|
||
|
# areastyle_opts=opts.AreaStyleOpts(opacity=0.1, color="#a29bfe"), color="#00b894")
|
||
|
# .add_yaxis("实施验收", [17, 25, 30, 31, 29, 34, 29, 31, 26, 30, 31, 25],
|
||
|
# areastyle_opts=opts.AreaStyleOpts(opacity=0.1, color="#ff7675"), color="#d63031")
|
||
|
# .add_yaxis("项目拨付", [11, 16, 19, 21, 23, 20, 17, 20, 15, 20, 15, 16],
|
||
|
# areastyle_opts=opts.AreaStyleOpts(opacity=0.1, color="#55efc4"), color="#6c5ce7")
|
||
|
# .add_yaxis("项目结束", [5, 7, 11, 15, 12, 13, 8, 9, 5, 7, 10, 4],
|
||
|
# areastyle_opts=opts.AreaStyleOpts(opacity=0.1, color="#ffeaa7"), color="#0984e3")
|
||
|
#
|
||
|
# .set_global_opts(
|
||
|
# legend_opts=opts.LegendOpts(textstyle_opts=opts.TextStyleOpts(color="#80828F")),
|
||
|
# xaxis_opts=opts.AxisOpts(
|
||
|
# axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#80828F"))),
|
||
|
# yaxis_opts=opts.AxisOpts(
|
||
|
# axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#80828F")),
|
||
|
# splitline_opts=opts.SplitLineOpts(is_show=True,
|
||
|
# linestyle_opts=opts.LineStyleOpts(color="#404040", type_="dashed")))
|
||
|
# )
|
||
|
# .dump_options()
|
||
|
# )
|
||
|
|
||
|
# 项目进展情况 - 单位分布
|
||
|
# LeiXing = ['小学', '初中', '九年一贯制', '高中', '完全中学', '十二年一贯制']
|
||
|
# c = (
|
||
|
# Bar()
|
||
|
# .add_xaxis(LeiXing)
|
||
|
# .add_yaxis("项目立项", [10, 20, 25, 26, 18, 12], stack="stack1", color="#fdcb6e")
|
||
|
# .add_yaxis("招标采购", [11, 16, 19, 21, 23, 20], stack="stack1", color="#00b894")
|
||
|
# .add_yaxis("实施验收", [13, 8, 10, 16, 11, 7], stack="stack1", color="#d63031")
|
||
|
# .add_yaxis("项目拨付", [9, 15, 16, 20, 18, 11], stack="stack1", color="#6c5ce7")
|
||
|
# .add_yaxis("项目结束", [5, 7, 11, 15, 12, 13], stack="stack1", color="#0984e3")
|
||
|
# .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
|
||
|
# .set_global_opts(
|
||
|
# legend_opts=opts.LegendOpts(textstyle_opts=opts.TextStyleOpts(color="#80828F")),
|
||
|
# xaxis_opts=opts.AxisOpts(
|
||
|
# axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#80828F"))),
|
||
|
# yaxis_opts=opts.AxisOpts(
|
||
|
# axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#80828F")),
|
||
|
# splitline_opts=opts.SplitLineOpts(is_show=True,
|
||
|
# linestyle_opts=opts.LineStyleOpts(color="#404040", type_="dashed")))
|
||
|
# )
|
||
|
#
|
||
|
# .dump_options()
|
||
|
# )
|
||
|
|
||
|
print(c)
|
||
|
return jsonify(json.loads(c))
|
||
|
|
||
|
|
||
|
def index():
|
||
|
return redirect('/static/index.html')
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
# 调试环境配置方法
|
||
|
app.run(host='0.0.0.0', port=8888, debug=True)
|