定制app开发一零四、大数据可视化技术与应用实训(展示大屏幕)

目录


一、定义

定制app开发利用本专业核心课程《实训项目》的知识,完成《定制app开发政府大数据可视化系统》系统分析、设计、编码、测试、定制app开发发布全过程项目实训。掌握利用Echarts定制app开发结合常用框架及数据分定制app开发析工具对大量数据进行采集、定制app开发分析存储及可视化的技能,定制app开发能够编写系统分析和系定制app开发统设计阶段的常用文档,定制app开发独立完成系统实施阶段程序设计,定制app开发能够进行单元测试和集成测试,定制app开发完成系统运行部署。定制app开发通过较为完整的大数据定制app开发分析及可视化过程,定制app开发使学生具备大数据系统构建、定制app开发展示的技能,定制app开发培养分析问题和解决问题的能力。

二、技能标准

定制app开发结合课堂讲授的知识,定制app开发通过实训操作,定制app开发使学生达到下列基本要求:

  1. 定制app开发熟悉软件开发的过程。
  2. 熟悉《定制app开发系统需求分析说明书》、《定制app开发系统设计说明书》定制app开发等开发文档的内容。
  3. 定制app开发掌握大数据平台搭建、定制app开发前后台软件开发环境构定制app开发建以及程序调试的方法。
  4. 能够使用echarts定制app开发实现柱状图、饼状图、定制app开发线状图等图表的绘制。
  5. 能够对echarts定制app开发对图表元素进行调整和优化。
  6. 定制app开发定制app开发能够根据需求对前台页定制app开发面进行设计,定制app开发并实现相关布局。
  7. 能够根据需求对前台页定制app开发面进行美化,能够灵活使用css的相关设置。
  8. 能够使用java script开发前台应用,接收用户需求,发起与后台的交互,接收和解析后台返回的信息,并实现前台刷新。
  9. 具备基本的python编程能力。
  10. 能够架设flask开发环境。
  11. 能够在flask下接收前台请求,并对请求进行响应。
  12. 能够通过numpy、pandas读取大文件(csv)。
  13. 能够通过numpy、pandas进行数据预处理、查询和分析。
  14. 能够采用JSON构建前后端交互的数据结构。
  15. 具备开发基本的网站和前后端调试的能力。
  16. 编码符合规范,能够利用工具检查代码的规范程度。
  17. 掌握版本控制,帮助和安装制作等常用工具的使用。
  18. 掌握利用微信小程序官方开发文档、搜索引擎、中国知网、CSDN等网络工具获取新知识,解决实际问题的方法。

三、实训安排

实训安排
周次时间内容要求
第一周周一项目任务布置,需求分析与系统设计。指导教师讲解项目开发的过程、需求、设计要点、讲解开发文档学生明确实训周任务及实训目标。学生仔细研究系统需求,理解设计思路,完成需求报告。
周二大数据平台环境的搭建建立大数据平台环境,构建前后台软件开发环境。
周三前端页面框架设计、页面美化

完成前端页面框架设计,实现基本页面布局。

完成前端页面的美化,确定并实现前端页面的色彩风格,优化文字、图案显示。
周四前端完成echarts绘图测试程序的编写

能够采用测试数据显示echarts图表,完整展现前端页面。

使用svn进行软件配置管理。
周五后端实现大文件的分片读取及数据预处理实现大文件的分片读取,对数据进行预处理,并采用单样本、小样本测试正确性。
第二周周一后端实现数据分析功能

实现数据分析功能;

编写测试程序验证分析程序有效性;

采用单样本、小样本进行测试验证。
周二实现前后端交互功能

前端实现发起请求,解析后端数据功能;

后端接收前端请求,并启动线程,完成数据分析。
周三实现数据分析过程中的状态交互

分析过程中前端对后端进行轮询;

后端响应前端轮询信息,获取当前分析进程。
周四完成项目开发扫尾工作实现前端的页面、显示交互、请求及响应,后端响应请求、数据分析、分析状态获取,以上软件模块的联调,优化系统软件模块。
周五项目总结、项目答辩学生能够完整阐述项目完成的过程,重难点技术及解决方案,以及自己的特色。

四、前台页面展示

模板页面

 

 

五、项目架构

六、static

提取码:0000

七、py文件

app.py

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2022/5/8 9:12
  3. # @Author : Tuomasi
  4. # @File : app.py
  5. from flask import Flask, render_template
  6. from data import SourceDataDemo
  7. from user_Data import userData
  8. from data_job import JobData
  9. from data_corp import CorpData
  10. app = Flask(__name__)
  11. '''
  12. 定义了3个网址,用同一套模板渲染
  13. '''
  14. @app.route('/')
  15. def index():
  16. # 新建一个实例
  17. data = SourceDataDemo()
  18. # 传入一个实例,和实例的标题
  19. return render_template(' index.html', form=data, title=data.title)
  20. @app.route('/corp')
  21. def corp():
  22. data = CorpData()
  23. return render_template('index.html', form=data, title=data.title)
  24. @app.route('/job')
  25. def job():
  26. data = JobData()
  27. return render_template('index.html', form=data, title=data.title)
  28. @app.route('/user')
  29. def user():
  30. data = userData()
  31. return render_template('index.html', form=data, title=data.title)
  32. if __name__ == "__main__":
  33. app.run(host='127.0.0.1', debug=False)

data.py

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2022/5/8 9:17
  3. # @Author : Tuomasi
  4. # @File : data.py
  5. class SourceDataDemo:
  6. def __init__(self):
  7. # 默认的标题
  8. self.title = '大数据可视化展板通用模板'
  9. # 两个小的form看板
  10. self.counter = {'name': '2022年总收入情况', 'value': 12345678}
  11. self.counter2 = {'name': '2022年总支出情况', 'value': 89765497}
  12. # 总共是6个图表,数据格式用json字符串,其中第3个图表是有3个小的图表组成的
  13. self.echart1_data = {
  14. 'title': '行业分布',
  15. 'data': [
  16. {"name": "商超门店", "value": 47},
  17. {"name": "教育培训", "value": 52},
  18. {"name": "房地产", "value": 90},
  19. {"name": "生活服务", "value": 84},
  20. {"name": "汽车销售", "value": 99},
  21. {"name": "旅游酒店", "value": 37},
  22. {"name": "五金建材", "value": 2},
  23. ]
  24. }
  25. self.echart2_data = {
  26. 'title': '省份分布',
  27. 'data': [
  28. {"name": "浙江", "value": 47},
  29. {"name": "上海", "value": 52},
  30. {"name": "江苏", "value": 90},
  31. {"name": "广东", "value": 84},
  32. {"name": "北京", "value": 99},
  33. {"name": "深圳", "value": 37},
  34. {"name": "安徽", "value": 150},
  35. ]
  36. }
  37. self.echarts3_1_data = {
  38. 'title': '年龄分布',
  39. 'data': [
  40. {"name": "0岁以下", "value": 47},
  41. {"name": "20-29岁", "value": 52},
  42. {"name": "30-39岁", "value": 90},
  43. {"name": "40-49岁", "value": 84},
  44. {"name": "50岁以上", "value": 99},
  45. ]
  46. }
  47. self.echarts3_2_data = {
  48. 'title': '职业分布',
  49. 'data': [
  50. {"name": "电子商务", "value": 10},
  51. {"name": "教育", "value": 20},
  52. {"name": "IT/互联网", "value": 20},
  53. {"name": "金融", "value": 30},
  54. {"name": "学生", "value": 40},
  55. {"name": "其他", "value": 50},
  56. ]
  57. }
  58. self.echarts3_3_data = {
  59. 'title': '兴趣分布',
  60. 'data': [
  61. {"name": "汽车", "value": 4},
  62. {"name": "旅游", "value": 5},
  63. {"name": "财经", "value": 9},
  64. {"name": "教育", "value": 8},
  65. {"name": "软件", "value": 9},
  66. {"name": "其他", "value": 9},
  67. ]
  68. }
  69. self.echart4_data = {
  70. 'title': '时间趋势',
  71. 'data': [
  72. {"name": "安卓", "value": [3, 4, 3, 4, 3, 4, 3, 6, 2, 4, 2, 4, 3, 4, 3, 4, 3, 4, 3, 6, 2, 4, 4]},
  73. {"name": "IOS", "value": [5, 3, 5, 6, 1, 5, 3, 5, 6, 4, 6, 4, 8, 3, 5, 6, 1, 5, 3, 7, 2, 5, 8]},
  74. ],
  75. 'xAxis': ['01', '02', '03', '04', '05', '06', '07', '08', '09', '11', '12', '13', '14', '15', '16', '17',
  76. '18', '19', '20', '21', '22', '23', '24'],
  77. }
  78. self.echart5_data = {
  79. 'title': '省份TOP',
  80. 'data': [
  81. {"name": "浙江", "value": 2},
  82. {"name": "上海", "value": 3},
  83. {"name": "江苏", "value": 3},
  84. {"name": "广东", "value": 9},
  85. {"name": "北京", "value": 15},
  86. {"name": "深圳", "value": 18},
  87. {"name": "安徽", "value": 20},
  88. {"name": "四川", "value": 13},
  89. ]
  90. }
  91. # 这是一个环状图,有颜色的加上没颜色的正好等于100,半径是外圈直径和内圈直径,猜测是左闭右开
  92. self.echart6_data = {
  93. 'title': '一线城市情况',
  94. 'data': [
  95. {"name": "浙江", "value": 80, "value2": 20, "color": "01", "radius": ['59%', '70%']},
  96. {"name": "上海", "value": 70, "value2": 30, "color": "02", "radius": ['49%', '60%']},
  97. {"name": "广东", "value": 65, "value2": 35, "color": "03", "radius": ['39%', '50%']},
  98. {"name": "北京", "value": 60, "value2": 40, "color": "04", "radius": ['29%', '40%']},
  99. {"name": "深圳", "value": 50, "value2": 50, "color": "05", "radius": ['20%', '30%']},
  100. ]
  101. }
  102. # 这个在哪里用了???
  103. self.map_1_data = {
  104. 'symbolSize': 1000,
  105. 'data': [
  106. {'name': '海门', 'value': 239},
  107. {'name': '鄂尔多斯', 'value': 231},
  108. {'name': '招远', 'value': 203},
  109. ]
  110. }
  111. @property
  112. def echart1(self):
  113. data = self.echart1_data
  114. echart = {
  115. 'title': data.get('title'),
  116. # 第一次get获取到的是许多键值对,所以需要对每个键值对再次get
  117. 'xAxis': [i.get("name") for i in data.get('data')],
  118. 'series': [i.get("value") for i in data.get('data')]
  119. }
  120. # 返回的是标题和对应的数据,并没有说用什么方式展现!
  121. return echart
  122. @property
  123. def echart2(self):
  124. data = self.echart2_data
  125. echart = {
  126. 'title': data.get('title'),
  127. 'xAxis': [i.get("name") for i in data.get('data')],
  128. 'series': [i.get("value") for i in data.get('data')]
  129. }
  130. return echart
  131. @property
  132. def echarts3_1(self):
  133. data = self.echarts3_1_data
  134. echart = {
  135. 'title': data.get('title'),
  136. 'xAxis': [i.get("name") for i in data.get('data')],
  137. 'data': data.get('data'),
  138. }
  139. return echart
  140. @property
  141. def echarts3_2(self):
  142. data = self.echarts3_2_data
  143. echart = {
  144. 'title': data.get('title'),
  145. 'xAxis': [i.get("name") for i in data.get('data')],
  146. 'data': data.get('data'),
  147. }
  148. return echart
  149. @property
  150. def echarts3_3(self):
  151. data = self.echarts3_3_data
  152. echart = {
  153. 'title': data.get('title'),
  154. 'xAxis': [i.get("name") for i in data.get('data')],
  155. 'data': data.get('data'),
  156. }
  157. return echart
  158. @property
  159. def echart4(self):
  160. data = self.echart4_data
  161. echart = {
  162. 'title': data.get('title'),
  163. 'names': [i.get("name") for i in data.get('data')],
  164. 'xAxis': data.get('xAxis'),
  165. 'data': data.get('data'),
  166. }
  167. return echart
  168. @property
  169. def echart5(self):
  170. data = self.echart5_data
  171. echart = {
  172. 'title': data.get('title'),
  173. 'xAxis': [i.get("name") for i in data.get('data')],
  174. 'series': [i.get("value") for i in data.get('data')],
  175. 'data': data.get('data'),
  176. }
  177. return echart
  178. @property
  179. def echart6(self):
  180. data = self.echart6_data
  181. echart = {
  182. 'title': data.get('title'),
  183. 'xAxis': [i.get("name") for i in data.get('data')],
  184. 'data': data.get('data'),
  185. }
  186. return echart
  187. @property
  188. def map_1(self):
  189. data = self.map_1_data
  190. echart = {
  191. 'symbolSize': data.get('symbolSize'),
  192. 'data': data.get('data'),
  193. }
  194. return echart
  195. # class SourceData(SourceDataDemo):
  196. #
  197. # def __init__(self):
  198. # """
  199. # 按照 SourceDataDemo 的格式覆盖数据即可
  200. # """
  201. # super().__init__()
  202. # self.title = '大数据屏幕展示'

data_corp.py

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2022/6/1 16:01
  3. # @Author : Tuomasi
  4. # @File : data_corp.py
  5. from data import SourceDataDemo
  6. class CorpData(SourceDataDemo):
  7. def __init__(self):
  8. """
  9. 按照 SourceDataDemo 的格式覆盖数据即可
  10. """
  11. super().__init__()
  12. self.title = '全国企业大数据'
  13. self.counter = {'name': '企业总数量(全国)', 'value': 46897675}
  14. self.counter2 = {'name': '企业总数量(一线城市)', 'value': 6805564}
  15. self.echart1_data = {
  16. 'title': '行业分布',
  17. 'data': [
  18. {
  19. "name": "批发零售业",
  20. "value": 16881396
  21. },
  22. {
  23. "name": "制造行业",
  24. "value": 6780200
  25. },
  26. {
  27. "name": "租赁商务服务",
  28. "value": 5358030
  29. },
  30. {
  31. "name": "农林牧渔业",
  32. "value": 3335899
  33. },
  34. {
  35. "name": "住宿餐饮业",
  36. "value": 2284813
  37. },
  38. {
  39. "name": "建筑业",
  40. "value": 2267361
  41. },
  42. ]
  43. }
  44. self.echart2_data = {
  45. 'title': '省份分布',
  46. 'data': [
  47. {
  48. "name": "广东",
  49. "value": 5635811
  50. },
  51. {
  52. "name": "山东",
  53. "value": 3972598
  54. },
  55. {
  56. "name": "江苏",
  57. "value": 3793522
  58. },
  59. {
  60. "name": "河南",
  61. "value": 2787866
  62. },
  63. {
  64. "name": "河北",
  65. "value": 2402739
  66. },
  67. {
  68. "name": "四川",
  69. "value": 2083448
  70. },
  71. {
  72. "name": "浙江",
  73. "value": 2047431
  74. },
  75. {
  76. "name": "上海",
  77. "value": 1863549
  78. },
  79. {
  80. "name": "北京",
  81. "value": 1717739
  82. },
  83. {
  84. "name": "辽宁",
  85. "value": 1658253
  86. }
  87. ]
  88. }
  89. self.echarts3_1_data = {
  90. 'title': 'IT互联网行业',
  91. 'data': [
  92. {"name": "软件和信息技术服务", "value": 977084},
  93. {"name": "电信、广播电视和卫星传输", "value": 106294},
  94. {"name": "互联网和相关服务", "value": 258712},
  95. ]
  96. }
  97. self.echarts3_2_data = {
  98. 'title': '金融行业',
  99. 'data': [
  100. {"name": "金融行业", "value": 45},
  101. {"name": "资本市场", "value": 172467},
  102. {"name": "货币金融", "value": 202444},
  103. {"name": "其他", "value": 57077},
  104. {"name": "保险", "value": 104538},
  105. ]
  106. }
  107. self.echarts3_3_data = {
  108. 'title': '运输物流仓储',
  109. 'data': [
  110. {"name": "铁路", "value": 3331},
  111. {"name": "邮政", "value": 118877},
  112. {"name": "道路", "value": 564787},
  113. {"name": "装卸搬运和运输代理", "value": 253375},
  114. {"name": "航空", "value": 8060},
  115. {"name": "水运", "value": 22755},
  116. {"name": "仓储", "value": 143798},
  117. ]
  118. }
  119. self.echart4_data = {
  120. 'title': '新一线城市',
  121. 'data': [
  122. {"name": "IT互联网行业", "value": [16839,22356,38262,33763,27436,20337,12178,34248,31356,50089,16040,16927,30420,7847,11937]},
  123. {"name": "房地产", "value": [13292,7770,17510,17584,14516,14485,9193,17220,10323,19205,15400,5051,12325,8481,9617]},
  124. ],
  125. 'xAxis': ['青岛', '长沙', '重庆', '郑州', '西安', '苏州', '沈阳', '武汉', '杭州', '成都', '天津', '合肥', '南京', '佛山', '东莞'],
  126. }
  127. self.echart5_data = {
  128. 'title': '厦门行业分布',
  129. 'data': [
  130. {
  131. "name": "批发零售业",
  132. "value": 167346
  133. },
  134. {
  135. "name": "租赁商务",
  136. "value": 55939
  137. },
  138. {
  139. "name": "制造行业",
  140. "value": 45326
  141. },
  142. {
  143. "name": "科学研究",
  144. "value": 22382
  145. },
  146. {
  147. "name": "住宿餐饮",
  148. "value": 21885
  149. },
  150. {
  151. "name": "IT互联网",
  152. "value": 18796
  153. },
  154. {
  155. "name": "建筑业",
  156. "value": 15244
  157. },
  158. {
  159. "name": "居民服务",
  160. "value": 12470
  161. }
  162. ]
  163. }
  164. self.echart6_data = {
  165. 'title': '一线城市',
  166. 'data': [
  167. {"name": "北京", "value": 1717739, "value2": 2000000 - 1717739, "color": "01", "radius": ['59%', '70%']},
  168. {"name": "上海", "value": 1863549, "value2": 2000000 - 1863549, "color": "02", "radius": ['49%', '60%']},
  169. {"name": "广州", "value": 1261475, "value2": 2000000 - 1261475, "color": "03", "radius": ['39%', '50%']},
  170. {"name": "深圳", "value": 1962801, "value2": 2000000 - 1962801, "color": "05", "radius": ['30%', '40%']},
  171. ]
  172. }
  173. self.map_1_data = {
  174. 'symbolSize': 80000,
  175. 'data': [
  176. {
  177. "name": "舟山新区",
  178. "value": 161
  179. },
  180. {
  181. "name": "忻州",
  182. "value": 70784
  183. },
  184. {
  185. "name": "什邡",
  186. "value": 3
  187. },
  188. {
  189. "name": "哈密地区",
  190. "value": 5
  191. },
  192. {
  193. "name": "通辽",
  194. "value": 85136
  195. },
  196. {
  197. "name": "潍坊",
  198. "value": 397874
  199. },
  200. {
  201. "name": "保山",
  202. "value": 48480
  203. },
  204. {
  205. "name": "海宁",
  206. "value": 1
  207. },
  208. {
  209. "name": "仪征",
  210. "value": 1
  211. },
  212. {
  213. "name": "九江",
  214. "value": 115899
  215. },
  216. {
  217. "name": "耒阳",
  218. "value": 5
  219. },
  220. {
  221. "name": "景德镇",
  222. "value": 28611
  223. },
  224. {
  225. "name": "宿州",
  226. "value": 80494
  227. },
  228. {
  229. "name": "博尔塔拉蒙古自治州",
  230. "value": 1
  231. },
  232. {
  233. "name": "义马",
  234. "value": 2
  235. },
  236. {
  237. "name": "枣庄",
  238. "value": 120614
  239. },
  240. {
  241. "name": "怀化",
  242. "value": 48647
  243. },
  244. {
  245. "name": "新界",
  246. "value": 329
  247. },
  248. {
  249. "name": "阿勒泰地区",
  250. "value": 2
  251. },
  252. {
  253. "name": "自贡",
  254. "value": 41452
  255. },
  256. {
  257. "name": "营口",
  258. "value": 108605
  259. },
  260. {
  261. "name": "河源",
  262. "value": 56177
  263. },
  264. {
  265. "name": "威海",
  266. "value": 136179
  267. },
  268. {
  269. "name": "商洛",
  270. "value": 39144
  271. },
  272. {
  273. "name": "瑞丽",
  274. "value": 1
  275. },
  276. {
  277. "name": "焦作",
  278. "value": 98645
  279. },
  280. {
  281. "name": "北京",
  282. "value": 1717739
  283. },
  284. {
  285. "name": "鹤壁",
  286. "value": 42904
  287. },
  288. {
  289. "name": "宣城",
  290. "value": 49005
  291. },
  292. {
  293. "name": "淮南",
  294. "value": 54726
  295. },
  296. {
  297. "name": "昭通",
  298. "value": 54965
  299. },
  300. {
  301. "name": "万宁",
  302. "value": 2334
  303. },
  304. {
  305. "name": "铜陵",
  306. "value": 31045
  307. },
  308. {
  309. "name": "青岛莱西",
  310. "value": 27
  311. },
  312. {
  313. "name": "太仓",
  314. "value": 15
  315. },
  316. {
  317. "name": "韩城",
  318. "value": 6
  319. },
  320. {
  321. "name": "镇江",
  322. "value": 151969
  323. },
  324. {
  325. "name": "图木舒克",
  326. "value": 869
  327. },
  328. {
  329. "name": "宜昌",
  330. "value": 106418
  331. },
  332. {
  333. "name": "五指山",
  334. "value": 757
  335. },
  336. {
  337. "name": "吕梁",
  338. "value": 85168
  339. },
  340. {
  341. "name": "达州",
  342. "value": 69415
  343. },
  344. {
  345. "name": "牡丹江",
  346. "value": 69489
  347. },
  348. {
  349. "name": "溧阳",
  350. "value": 1
  351. },
  352. {
  353. "name": "黄冈",
  354. "value": 101061
  355. },
  356. {
  357. "name": "荆州",
  358. "value": 86955
  359. },
  360. {
  361. "name": "芜湖",
  362. "value": 71639
  363. },
  364. {
  365. "name": "新北",
  366. "value": 4997
  367. },
  368. {
  369. "name": "衡水",
  370. "value": 143528
  371. },
  372. {
  373. "name": "乐平",
  374. "value": 5
  375. },
  376. {
  377. "name": "和田",
  378. "value": 46014
  379. },
  380. {
  381. "name": "玉溪",
  382. "value": 62841
  383. },
  384. {
  385. "name": "吉林",
  386. "value": 119684
  387. },
  388. {
  389. "name": "晋州",
  390. "value": 2
  391. },
  392. {
  393. "name": "益阳",
  394. "value": 67738
  395. },
  396. {
  397. "name": "周口",
  398. "value": 153687
  399. },
  400. {
  401. "name": "商丘",
  402. "value": 162361
  403. },
  404. {
  405. "name": "海口",
  406. "value": 203141
  407. },
  408. {
  409. "name": "合肥",
  410. "value": 403592
  411. },
  412. {
  413. "name": "林芝",
  414. "value": 7348
  415. },
  416. {
  417. "name": "张家港",
  418. "value": 1
  419. },
  420. {
  421. "name": "吐鲁番地区",
  422. "value": 1
  423. },
  424. {
  425. "name": "苏州",
  426. "value": 761964
  427. },
  428. {
  429. "name": "仁怀",
  430. "value": 5
  431. },
  432. {
  433. "name": "无锡",
  434. "value": 388079
  435. },
  436. {
  437. "name": "恩施",
  438. "value": 75131
  439. },
  440. {
  441. "name": "天长",
  442. "value": 1
  443. },
  444. {
  445. "name": "克拉玛依",
  446. "value": 22459
  447. },
  448. {
  449. "name": "泸州",
  450. "value": 72283
  451. },
  452. {
  453. "name": "栖霞",
  454. "value": 2
  455. },
  456. {
  457. "name": "津",
  458. "value": 3
  459. },
  460. {
  461. "name": "遵化",
  462. "value": 1
  463. },
  464. {
  465. "name": "濮阳",
  466. "value": 92128
  467. },
  468. {
  469. "name": "大兴安岭地区",
  470. "value": 60
  471. },
  472. {
  473. "name": "新乡",
  474. "value": 157152
  475. },
  476. {
  477. "name": "随州",
  478. "value": 38572
  479. },
  480. {
  481. "name": "湖州",
  482. "value": 79596
  483. },
  484. {
  485. "name": "东阳",
  486. "value": 6
  487. },
  488. {
  489. "name": "鄂州",
  490. "value": 27036
  491. },
  492. {
  493. "name": "德阳",
  494. "value": 66709
  495. },
  496. {
  497. "name": "银川",
  498. "value": 113991
  499. },
  500. {
  501. "name": "天津",
  502. "value": 604965
  503. },
  504. {
  505. "name": "三明",
  506. "value": 77702
  507. },
  508. {
  509. "name": "阿拉尔",
  510. "value": 1935
  511. },
  512. {
  513. "name": "龙泉",
  514. "value": 34
  515. },
  516. {
  517. "name": "成都",
  518. "value": 924643
  519. },
  520. {
  521. "name": "威海荣成",
  522. "value": 1
  523. },
  524. {
  525. "name": "天水",
  526. "value": 54557
  527. },
  528. {
  529. "name": "平顶山",
  530. "value": 124198
  531. },
  532. {
  533. "name": "那曲",
  534. "value": 5801
  535. },
  536. {
  537. "name": "台中",
  538. "value": 3818
  539. },
  540. {
  541. "name": "吴忠",
  542. "value": 55558
  543. },
  544. {
  545. "name": "枣庄滕州",
  546. "value": 8
  547. },
  548. {
  549. "name": "株洲",
  550. "value": 70012
  551. },
  552. {
  553. "name": "兰州",
  554. "value": 253776
  555. },
  556. {
  557. "name": "新余",
  558. "value": 34755
  559. },
  560. {
  561. "name": "葫芦岛",
  562. "value": 76596
  563. },
  564. {
  565. "name": "阿里",
  566. "value": 2130
  567. },
  568. {
  569. "name": "鸡西",
  570. "value": 41768
  571. },
  572. {
  573. "name": "鄂尔多斯",
  574. "value": 86527
  575. },
  576. {
  577. "name": "黔东南",
  578. "value": 110295
  579. },
  580. {
  581. "name": "东莞",
  582. "value": 645252
  583. },
  584. {
  585. "name": "邵阳",
  586. "value": 59109
  587. },
  588. {
  589. "name": "瓦房店",
  590. "value": 92
  591. },
  592. {
  593. "name": "莱西",
  594. "value": 2
  595. },
  596. {
  597. "name": "开远",
  598. "value": 1
  599. },
  600. {
  601. "name": "酒泉",
  602. "value": 55168
  603. },
  604. {
  605. "name": "莱阳",
  606. "value": 1
  607. },
  608. {
  609. "name": "滨州",
  610. "value": 147474
  611. },
  612. {
  613. "name": "遂宁",
  614. "value": 49076
  615. },
  616. {
  617. "name": "青岛",
  618. "value": 659581
  619. },
  620. {
  621. "name": "甘孜藏族自治州",
  622. "value": 3
  623. },
  624. {
  625. "name": "黄石",
  626. "value": 56620
  627. },
  628. {
  629. "name": "西双版纳傣族自治州",
  630. "value": 2
  631. },
  632. {
  633. "name": "开封",
  634. "value": 123452
  635. },
  636. {
  637. "name": "抚顺",
  638. "value": 61732
  639. },
  640. {
  641. "name": "潮州",
  642. "value": 33591
  643. },
  644. {
  645. "name": "澳门",
  646. "value": 310
  647. },
  648. {
  649. "name": "新竹",
  650. "value": 2282
  651. },
  652. {
  653. "name": "贵阳",
  654. "value": 310432
  655. },
  656. {
  657. "name": "基隆",
  658. "value": 541
  659. },
  660. {
  661. "name": "长春",
  662. "value": 307034
  663. },
  664. {
  665. "name": "呼伦贝尔",
  666. "value": 76834
  667. },
  668. {
  669. "name": "鹤岗",
  670. "value": 26312
  671. },
  672. {
  673. "name": "南充",
  674. "value": 91426
  675. },
  676. {
  677. "name": "青岛平度",
  678. "value": 5
  679. },
  680. {
  681. "name": "介休",
  682. "value": 3
  683. },
  684. {
  685. "name": "海安",
  686. "value": 1
  687. },
  688. {
  689. "name": "迪庆",
  690. "value": 16730
  691. },
  692. {
  693. "name": "南投",
  694. "value": 296
  695. },
  696. {
  697. "name": "香港",
  698. "value": 2048
  699. },
  700. {
  701. "name": "大安",
  702. "value": 8
  703. },
  704. {
  705. "name": "秦皇岛",
  706. "value": 101000
  707. },
  708. {
  709. "name": "阿克苏地区",
  710. "value": 2
  711. },
  712. {
  713. "name": "贺州",
  714. "value": 37990
  715. },
  716. {
  717. "name": "泰安",
  718. "value": 154160
  719. },
  720. {
  721. "name": "凉山",
  722. "value": 61398
  723. },
  724. {
  725. "name": "玉林",
  726. "value": 111684
  727. },
  728. {
  729. "name": "清远",
  730. "value": 73871
  731. },
  732. {
  733. "name": "武威",
  734. "value": 48458
  735. },
  736. {
  737. "name": "邢台",
  738. "value": 217437
  739. },
  740. {
  741. "name": "延安",
  742. "value": 69234
  743. },
  744. {
  745. "name": "白沙",
  746. "value": 7
  747. },
  748. {
  749. "name": "乌海",
  750. "value": 19163
  751. },
  752. {
  753. "name": "襄阳",
  754. "value": 119937
  755. },
  756. {
  757. "name": "济宁",
  758. "value": 283287
  759. },
  760. {
  761. "name": "洪湖",
  762. "value": 1
  763. },
  764. {
  765. "name": "莱芜",
  766. "value": 34402
  767. },
  768. {
  769. "name": "建瓯",
  770. "value": 31
  771. },
  772. {
  773. "name": "路环岛",
  774. "value": 11
  775. },
  776. {
  777. "name": "雅安",
  778. "value": 42091
  779. },
  780. {
  781. "name": "靖西",
  782. "value": 1
  783. },
  784. {
  785. "name": "博尔塔拉蒙古",
  786. "value": 79
  787. },
  788. {
  789. "name": "宁德",
  790. "value": 94732
  791. },
  792. {
  793. "name": "永州",
  794. "value": 60735
  795. },
  796. {
  797. "name": "阳泉",
  798. "value": 53255
  799. },
  800. {
  801. "name": "怒江",
  802. "value": 9293
  803. },
  804. {
  805. "name": "楚雄彝族自治州",
  806. "value": 4
  807. },
  808. {
  809. "name": "定西",
  810. "value": 52645
  811. },
  812. {
  813. "name": "荣成",
  814. "value": 2
  815. },
  816. {
  817. "name": "凯里",
  818. "value": 27
  819. },
  820. {
  821. "name": "武汉",
  822. "value": 592203
  823. },
  824. {
  825. "name": "德宏",
  826. "value": 33889
  827. },
  828. {
  829. "name": "海西",
  830. "value": 19682
  831. },
  832. {
  833. "name": "哈尔滨",
  834. "value": 310698
  835. },
  836. {
  837. "name": "大庆",
  838. "value": 83772
  839. },
  840. {
  841. "name": "果洛",
  842. "value": 2621
  843. },
  844. {
  845. "name": "丹阳",
  846. "value": 1
  847. },
  848. {
  849. "name": "上饶",
  850. "value": 111455
  851. },
  852. {
  853. "name": "锦州",
  854. "value": 90246
  855. },
  856. {
  857. "name": "莆田",
  858. "value": 82285
  859. },
  860. {
  861. "name": "吐鲁番",
  862. "value": 27846
  863. },
  864. {
  865. "name": "漯河",
  866. "value": 61549
  867. },
  868. {
  869. "name": "大连",
  870. "value": 382440
  871. },
  872. {
  873. "name": "阿克苏",
  874. "value": 59736
  875. },
  876. {
  877. "name": "红河哈尼族彝族自治州",
  878. "value": 1
  879. },
  880. {
  881. "name": "浏阳",
  882. "value": 2
  883. },
  884. {
  885. "name": "河池",
  886. "value": 81167
  887. },
  888. {
  889. "name": "潜江",
  890. "value": 2189
  891. },
  892. {
  893. "name": "冷水江",
  894. "value": 1
  895. },
  896. {
  897. "name": "阜新",
  898. "value": 64873
  899. },
  900. {
  901. "name": "昌吉",
  902. "value": 63572
  903. },
  904. {
  905. "name": "山南",
  906. "value": 8697
  907. },
  908. {
  909. "name": "·苏州",
  910. "value": 1
  911. },
  912. {
  913. "name": "白城",
  914. "value": 58985
  915. },
  916. {
  917. "name": "慈溪",
  918. "value": 3
  919. },
  920. {
  921. "name": "蛟河",
  922. "value": 2
  923. },
  924. {
  925. "name": "宿迁",
  926. "value": 174059
  927. },
  928. {
  929. "name": "茂名高州",
  930. "value": 1
  931. },
  932. {
  933. "name": "铜川",
  934. "value": 24539
  935. },
  936. {
  937. "name": "五家渠",
  938. "value": 681
  939. },
  940. {
  941. "name": "驻马店",
  942. "value": 140282
  943. },
  944. {
  945. "name": "曲阜",
  946. "value": 1
  947. },
  948. {
  949. "name": "阳春",
  950. "value": 1
  951. },
  952. {
  953. "name": "铁岭",
  954. "value": 71673
  955. },
  956. {
  957. "name": "黔西南",
  958. "value": 84647
  959. },
  960. {
  961. "name": "聊城",
  962. "value": 181255
  963. },
  964. {
  965. "name": "遵义",
  966. "value": 197671
  967. },
  968. {
  969. "name": "包头",
  970. "value": 100157
  971. },
  972. {
  973. "name": "重庆",
  974. "value": 915432
  975. },
  976. {
  977. "name": "厦门",
  978. "value": 398539
  979. },
  980. {
  981. "name": "伊犁哈萨克自治州",
  982. "value": 2
  983. },
  984. {
  985. "name": "嘉峪关",
  986. "value": 13611
  987. },
  988. {
  989. "name": "三沙",
  990. "value": 636
  991. },
  992. {
  993. "name": "延吉",
  994. "value": 9
  995. },
  996. {
  997. "name": "佛山",
  998. "value": 375132
  999. },
  1000. {
  1001. "name": "杭州",
  1002. "value": 456397
  1003. },
  1004. {
  1005. "name": "赤峰",
  1006. "value": 122882
  1007. },
  1008. {
  1009. "name": "彭州",
  1010. "value": 12
  1011. },
  1012. {
  1013. "name": "哈密",
  1014. "value": 32820
  1015. },
  1016. {
  1017. "name": "济南",
  1018. "value": 433494
  1019. },
  1020. {
  1021. "name": "曲靖",
  1022. "value": 87475
  1023. },
  1024. {
  1025. "name": "阿拉善盟",
  1026. "value": 8226
  1027. },
  1028. {
  1029. "name": "安宁",
  1030. "value": 3
  1031. },
  1032. {
  1033. "name": "泉州",
  1034. "value": 318003
  1035. },
  1036. {
  1037. "name": "东台",
  1038. "value": 3
  1039. },
  1040. {
  1041. "name": "岳阳",
  1042. "value": 66368
  1043. },
  1044. {
  1045. "name": "绥化",
  1046. "value": 90282
  1047. },
  1048. {
  1049. "name": "昆明",
  1050. "value": 327619
  1051. },
  1052. {
  1053. "name": "日喀则",
  1054. "value": 25130
  1055. },
  1056. {
  1057. "name": "桃园",
  1058. "value": 3955
  1059. },
  1060. {
  1061. "name": "金华",
  1062. "value": 280396
  1063. },
  1064. {
  1065. "name": "伊犁哈萨克",
  1066. "value": 178
  1067. },
  1068. {
  1069. "name": "江阴",
  1070. "value": 16
  1071. },
  1072. {
  1073. "name": "安康",
  1074. "value": 58798
  1075. },
  1076. {
  1077. "name": "荆门",
  1078. "value": 53163
  1079. },
  1080. {
  1081. "name": "烟台",
  1082. "value": 291537
  1083. },
  1084. {
  1085. "name": "定州",
  1086. "value": 7
  1087. },
  1088. {
  1089. "name": "丽江",
  1090. "value": 35610
  1091. },
  1092. {
  1093. "name": "绵竹",
  1094. "value": 4
  1095. },
  1096. {
  1097. "name": "许昌",
  1098. "value": 119450
  1099. },
  1100. {
  1101. "name": "宁乡",
  1102. "value": 1
  1103. },
  1104. {
  1105. "name": "晋城",
  1106. "value": 60737
  1107. },
  1108. {
  1109. "name": "长沙",
  1110. "value": 346142
  1111. },
  1112. {
  1113. "name": "韶关",
  1114. "value": 49216
  1115. },
  1116. {
  1117. "name": "江门",
  1118. "value": 109733
  1119. },
  1120. {
  1121. "name": "德宏州芒",
  1122. "value": 6
  1123. },
  1124. {
  1125. "name": "福州",
  1126. "value": 306310
  1127. },
  1128. {
  1129. "name": "中卫",
  1130. "value": 34127
  1131. },
  1132. {
  1133. "name": "蚌埠",
  1134. "value": 57339
  1135. },
  1136. {
  1137. "name": "昌吉回族自治州",
  1138. "value": 1
  1139. },
  1140. {
  1141. "name": "呼和浩",
  1142. "value": 1
  1143. },
  1144. {
  1145. "name": "台州",
  1146. "value": 172156
  1147. },
  1148. {
  1149. "name": "柳州",
  1150. "value": 118680
  1151. },
  1152. {
  1153. "name": "揭阳",
  1154. "value": 49581
  1155. },
  1156. {
  1157. "name": "大石桥",
  1158. "value": 1
  1159. },
  1160. {
  1161. "name": "渭南",
  1162. "value": 89260
  1163. },
  1164. {
  1165. "name": "巴音郭楞",
  1166. "value": 34170
  1167. },
  1168. {
  1169. "name": "温州",
  1170. "value": 277937
  1171. },
  1172. {
  1173. "name": "北海",
  1174. "value": 57863
  1175. },
  1176. {
  1177. "name": "湘乡",
  1178. "value": 3
  1179. },
  1180. {
  1181. "name": "淮北",
  1182. "value": 43925
  1183. },
  1184. {
  1185. "name": "石河子",
  1186. "value": 5755
  1187. },
  1188. {
  1189. "name": "禹州",
  1190. "value": 2
  1191. },
  1192. {
  1193. "name": "拉萨",
  1194. "value": 44479
  1195. },
  1196. {
  1197. "name": "湘潭",
  1198. "value": 36361
  1199. },
  1200. {
  1201. "name": "北屯",
  1202. "value": 668
  1203. },
  1204. {
  1205. "name": "晋江",
  1206. "value": 1
  1207. },
  1208. {
  1209. "name": "龙口",
  1210. "value": 1
  1211. },
  1212. {
  1213. "name": "菏泽",
  1214. "value": 228000
  1215. },
  1216. {
  1217. "name": "汕尾",
  1218. "value": 28297
  1219. },
  1220. {
  1221. "name": "龙岩",
  1222. "value": 71382
  1223. },
  1224. {
  1225. "name": "延边朝鲜族自治州",
  1226. "value": 361
  1227. },
  1228. {
  1229. "name": "郑州",
  1230. "value": 723262
  1231. },
  1232. {
  1233. "name": "漳州",
  1234. "value": 116658
  1235. },
  1236. {
  1237. "name": "宝鸡",
  1238. "value": 98799
  1239. },
  1240. {
  1241. "name": "屏东",
  1242. "value": 1469
  1243. },
  1244. {
  1245. "name": "福安",
  1246. "value": 8
  1247. },
  1248. {
  1249. "name": "南宁",
  1250. "value": 361448
  1251. },
  1252. {
  1253. "name": "三门峡",
  1254. "value": 51541
  1255. },
  1256. {
  1257. "name": "克孜勒苏",
  1258. "value": 13951
  1259. },
  1260. {
  1261. "name": "利川",
  1262. "value": 1
  1263. },
  1264. {
  1265. "name": "抚远",
  1266. "value": 1
  1267. },
  1268. {
  1269. "name": "榆林",
  1270. "value": 121829
  1271. },
  1272. {
  1273. "name": "黄南",
  1274. "value": 36480
  1275. },
  1276. {
  1277. "name": "攀枝花",
  1278. "value": 31558
  1279. },
  1280. {
  1281. "name": "衢州",
  1282. "value": 50415
  1283. },
  1284. {
  1285. "name": "呼和浩特",
  1286. "value": 129686
  1287. },
  1288. {
  1289. "name": "大理",
  1290. "value": 62322
  1291. },
  1292. {
  1293. "name": "沅江",
  1294. "value": 7
  1295. },
  1296. {
  1297. "name": "高雄县",
  1298. "value": 1
  1299. },
  1300. {
  1301. "name": "东方",
  1302. "value": 2127
  1303. },
  1304. {
  1305. "name": "双鸭山",
  1306. "value": 31647
  1307. },
  1308. {
  1309. "name": "喀什地区",
  1310. "value": 2
  1311. },
  1312. {
  1313. "name": "吉安",
  1314. "value": 83869
  1315. },
  1316. {
  1317. "name": "章丘",
  1318. "value": 2
  1319. },
  1320. {
  1321. "name": "崇左",
  1322. "value": 47117
  1323. },
  1324. {
  1325. "name": "黔南",
  1326. "value": 115937
  1327. },
  1328. {
  1329. "name": "保亭",
  1330. "value": 7
  1331. },
  1332. {
  1333. "name": "广州",
  1334. "value": 1261475
  1335. },
  1336. {
  1337. "name": "海阳",
  1338. "value": 1
  1339. },
  1340. {
  1341. "name": "德兴",
  1342. "value": 1
  1343. },
  1344. {
  1345. "name": "都匀",
  1346. "value": 5
  1347. },
  1348. {
  1349. "name": "巴彦淖尔",
  1350. "value": 47338
  1351. },
  1352. {
  1353. "name": "内江",
  1354. "value": 50568
  1355. },
  1356. {
  1357. "name": "云浮",
  1358. "value": 34606
  1359. },
  1360. {
  1361. "name": "珠海",
  1362. "value": 72002
  1363. },
  1364. {
  1365. "name": "舟山",
  1366. "value": 29005
  1367. },
  1368. {
  1369. "name": "萍乡",
  1370. "value": 36176
  1371. },
  1372. {
  1373. "name": "滁州",
  1374. "value": 78841
  1375. },
  1376. {
  1377. "name": "儋州",
  1378. "value": 21576
  1379. },
  1380. {
  1381. "name": "吉首",
  1382. "value": 9
  1383. },
  1384. {
  1385. "name": "贵溪",
  1386. "value": 1
  1387. },
  1388. {
  1389. "name": "西双版纳",
  1390. "value": 31239
  1391. },
  1392. {
  1393. "name": "深圳",
  1394. "value": 1962801
  1395. },
  1396. {
  1397. "name": "高雄",
  1398. "value": 4459
  1399. },
  1400. {
  1401. "name": "湘西",
  1402. "value": 35582
  1403. },
  1404. {
  1405. "name": "宜兰",
  1406. "value": 868
  1407. },
  1408. {
  1409. "name": "宜春",
  1410. "value": 106453
  1411. },
  1412. {
  1413. "name": "济源",
  1414. "value": 3730
  1415. },
  1416. {
  1417. "name": "常德",
  1418. "value": 60603
  1419. },
  1420. {
  1421. "name": "昆山",
  1422. "value": 14
  1423. },
  1424. {
  1425. "name": "四平",
  1426. "value": 72288
  1427. },
  1428. {
  1429. "name": "梅州",
  1430. "value": 84115
  1431. },
  1432. {
  1433. "name": "红河",
  1434. "value": 62677
  1435. },
  1436. {
  1437. "name": "莱州",
  1438. "value": 2
  1439. },
  1440. {
  1441. "name": "金昌",
  1442. "value": 18695
  1443. },
  1444. {
  1445. "name": "玉环",
  1446. "value": 7
  1447. },
  1448. {
  1449. "name": "阿勒泰",
  1450. "value": 25001
  1451. },
  1452. {
  1453. "name": "云林",
  1454. "value": 245
  1455. },
  1456. {
  1457. "name": "彰化",
  1458. "value": 1493
  1459. },
  1460. {
  1461. "name": "梧州",
  1462. "value": 54510
  1463. },
  1464. {
  1465. "name": "贵港",
  1466. "value": 87421
  1467. },
  1468. {
  1469. "name": "蓬莱",
  1470. "value": 7
  1471. },
  1472. {
  1473. "name": "余姚",
  1474. "value": 8
  1475. },
  1476. {
  1477. "name": "唐山",
  1478. "value": 185652
  1479. },
  1480. {
  1481. "name": "安顺",
  1482. "value": 71378
  1483. },
  1484. {
  1485. "name": "瑞安",
  1486. "value": 4
  1487. },
  1488. {
  1489. "name": "博尔塔拉",
  1490. "value": 18801
  1491. },
  1492. {
  1493. "name": "仙桃",
  1494. "value": 3421
  1495. },
  1496. {
  1497. "name": "齐齐哈尔",
  1498. "value": 102513
  1499. },
  1500. {
  1501. "name": "兴城",
  1502. "value": 1
  1503. },
  1504. {
  1505. "name": "个旧",
  1506. "value": 3
  1507. },
  1508. {
  1509. "name": "新乐",
  1510. "value": 1
  1511. },
  1512. {
  1513. "name": "池州",
  1514. "value": 28860
  1515. },
  1516. {
  1517. "name": "招远",
  1518. "value": 4
  1519. },
  1520. {
  1521. "name": "沈阳",
  1522. "value": 365337
  1523. },
  1524. {
  1525. "name": "宁波",
  1526. "value": 331901
  1527. },
  1528. {
  1529. "name": "七台河",
  1530. "value": 17896
  1531. },
  1532. {
  1533. "name": "大同",
  1534. "value": 69158
  1535. },
  1536. {
  1537. "name": "",
  1538. "value": 103104
  1539. },
  1540. {
  1541. "name": "六盘水",
  1542. "value": 97941
  1543. },
  1544. {
  1545. "name": "湛江吴川",
  1546. "value": 1
  1547. },
  1548. {
  1549. "name": "湘西土家族苗族自治州",
  1550. "value": 273
  1551. },
  1552. {
  1553. "name": "固原",
  1554. "value": 27618
  1555. },
  1556. {
  1557. "name": "通化",
  1558. "value": 53376
  1559. },
  1560. {
  1561. "name": "福鼎",
  1562. "value": 3
  1563. },
  1564. {
  1565. "name": "\\N",
  1566. "value": 43900
  1567. },
  1568. {
  1569. "name": "防城港",
  1570. "value": 33483
  1571. },
  1572. {
  1573. "name": "大兴安岭",
  1574. "value": 9957
  1575. },
  1576. {
  1577. "name": "西安",
  1578. "value": 483001
  1579. },
  1580. {
  1581. "name": "南阳",
  1582. "value": 198209
  1583. },
  1584. {
  1585. "name": "茂名",
  1586. "value": 88878
  1587. },
  1588. {
  1589. "name": "张家口",
  1590. "value": 107397
  1591. },
  1592. {
  1593. "name": "赣州",
  1594. "value": 161595
  1595. },
  1596. {
  1597. "name": "桂林",
  1598. "value": 125532
  1599. },
  1600. {
  1601. "name": "北区",
  1602. "value": 2
  1603. },
  1604. {
  1605. "name": "诸暨",
  1606. "value": 1
  1607. },
  1608. {
  1609. "name": "运城",
  1610. "value": 216181
  1611. },
  1612. {
  1613. "name": "丹东",
  1614. "value": 78563
  1615. },
  1616. {
  1617. "name": "张掖",
  1618. "value": 56638
  1619. },
  1620. {
  1621. "name": "淄博",
  1622. "value": 190065
  1623. },
  1624. {
  1625. "name": "海门",
  1626. "value": 9
  1627. },
  1628. {
  1629. "name": "廊坊",
  1630. "value": 176743
  1631. },
  1632. {
  1633. "name": "甘南",
  1634. "value": 21298
  1635. },
  1636. {
  1637. "name": "平凉",
  1638. "value": 51979
  1639. },
  1640. {
  1641. "name": "巴音郭楞蒙古自治州",
  1642. "value": 1
  1643. },
  1644. {
  1645. "name": "沧州",
  1646. "value": 232646
  1647. },
  1648. {
  1649. "name": "毕节",
  1650. "value": 133659
  1651. },
  1652. {
  1653. "name": "乌兰察布",
  1654. "value": 44915
  1655. },
  1656. {
  1657. "name": "百色",
  1658. "value": 80859
  1659. },
  1660. {
  1661. "name": "汕头",
  1662. "value": 90525
  1663. },
  1664. {
  1665. "name": "苗栗",
  1666. "value": 2804
  1667. },
  1668. {
  1669. "name": "长治",
  1670. "value": 87575
  1671. },
  1672. {
  1673. "name": "楚雄",
  1674. "value": 52923
  1675. },
  1676. {
  1677. "name": "延边",
  1678. "value": 71577
  1679. },
  1680. {
  1681. "name": "伊春",
  1682. "value": 23486
  1683. },
  1684. {
  1685. "name": "台东",
  1686. "value": 1812
  1687. },
  1688. {
  1689. "name": "连江",
  1690. "value": 2504
  1691. },
  1692. {
  1693. "name": "涿州",
  1694. "value": 1
  1695. },
  1696. {
  1697. "name": "台北",
  1698. "value": 2664
  1699. },
  1700. {
  1701. "name": "永济",
  1702. "value": 6
  1703. },
  1704. {
  1705. "name": "如皋",
  1706. "value": 18
  1707. },
  1708. {
  1709. "name": "南平",
  1710. "value": 69163
  1711. },
  1712. {
  1713. "name": "兴安盟",
  1714. "value": 29136
  1715. },
  1716. {
  1717. "name": "东营",
  1718. "value": 102950
  1719. },
  1720. {
  1721. "name": "郴州",
  1722. "value": 67193
  1723. },
  1724. {
  1725. "name": "连云港",
  1726. "value": 124099
  1727. },
  1728. {
  1729. "name": "十堰",
  1730. "value": 76953
  1731. },
  1732. {
  1733. "name": "邵武",
  1734. "value": 3
  1735. },
  1736. {
  1737. "name": "永康",
  1738. "value": 11
  1739. },
  1740. {
  1741. "name": "阜阳",
  1742. "value": 134105
  1743. },
  1744. {
  1745. "name": "海南",
  1746. "value": 12363
  1747. },
  1748. {
  1749. "name": "中山",
  1750. "value": 220405
  1751. },
  1752. {
  1753. "name": "石嘴山",
  1754. "value": 20943
  1755. },
  1756. {
  1757. "name": "安阳",
  1758. "value": 137007
  1759. },
  1760. {
  1761. "name": "辽源",
  1762. "value": 24345
  1763. },
  1764. {
  1765. "name": "娄底",
  1766. "value": 47728
  1767. },
  1768. {
  1769. "name": "朝阳",
  1770. "value": 96081
  1771. },
  1772. {
  1773. "name": "来宾",
  1774. "value": 48133
  1775. },
  1776. {
  1777. "name": "锡林郭勒盟",
  1778. "value": 30830
  1779. },
  1780. {
  1781. "name": "克孜勒苏柯尔克孜自治州",
  1782. "value": 1
  1783. },
  1784. {
  1785. "name": "扬州",
  1786. "value": 178676
  1787. },
  1788. {
  1789. "name": "汉中",
  1790. "value": 77816
  1791. },
  1792. {
  1793. "name": "马鞍山",
  1794. "value": 51262
  1795. },
  1796. {
  1797. "name": "佳木斯",
  1798. "value": 65312
  1799. },
  1800. {
  1801. "name": "太原",
  1802. "value": 225524
  1803. },
  1804. {
  1805. "name": "乌鲁木齐",
  1806. "value": 210305
  1807. },
  1808. {
  1809. "name": "淮安",
  1810. "value": 143911
  1811. },
  1812. {
  1813. "name": "临沂",
  1814. "value": 303072
  1815. },
  1816. {
  1817. "name": "白山",
  1818. "value": 32733
  1819. },
  1820. {
  1821. "name": "花莲",
  1822. "value": 7048
  1823. },
  1824. {
  1825. "name": "九龙",
  1826. "value": 621
  1827. },
  1828. {
  1829. "name": "辛集",
  1830. "value": 5
  1831. },
  1832. {
  1833. "name": "绵阳",
  1834. "value": 145249
  1835. },
  1836. {
  1837. "name": "海北",
  1838. "value": 7581
  1839. },
  1840. {
  1841. "name": "西宁",
  1842. "value": 98399
  1843. },
  1844. {
  1845. "name": "乐山",
  1846. "value": 61810
  1847. },
  1848. {
  1849. "name": "阳江",
  1850. "value": 41090
  1851. },
  1852. {
  1853. "name": "澳门半岛",
  1854. "value": 27
  1855. },
  1856. {
  1857. "name": "伊犁",
  1858. "value": 99483
  1859. },
  1860. {
  1861. "name": "眉山",
  1862. "value": 53762
  1863. },
  1864. {
  1865. "name": "乐清",
  1866. "value": 1
  1867. },
  1868. {
  1869. "name": "福泉",
  1870. "value": 1
  1871. },
  1872. {
  1873. "name": "钦州",
  1874. "value": 58499
  1875. },
  1876. {
  1877. "name": "普兰店",
  1878. "value": 5
  1879. },
  1880. {
  1881. "name": "广汉",
  1882. "value": 17
  1883. },
  1884. {
  1885. "name": "广安",
  1886. "value": 51019
  1887. },
  1888. {
  1889. "name": "蒙自",
  1890. "value": 2
  1891. },
  1892. {
  1893. "name": "兴安",
  1894. "value": 15625
  1895. },
  1896. {
  1897. "name": "澎湖",
  1898. "value": 1073
  1899. },
  1900. {
  1901. "name": "老河口",
  1902. "value": 2
  1903. },
  1904. {
  1905. "name": "喀什",
  1906. "value": 100640
  1907. },
  1908. {
  1909. "name": "宜宾",
  1910. "value": 86251
  1911. },
  1912. {
  1913. "name": "临汾",
  1914. "value": 96106
  1915. },
  1916. {
  1917. "name": "咸阳",
  1918. "value": 81727
  1919. },
  1920. {
  1921. "name": "洛阳",
  1922. "value": 246276
  1923. },
  1924. {
  1925. "name": "湛江",
  1926. "value": 85558
  1927. },
  1928. {
  1929. "name": "天门",
  1930. "value": 2943
  1931. },
  1932. {
  1933. "name": "大理白族自治州",
  1934. "value": 2
  1935. },
  1936. {
  1937. "name": "台南",
  1938. "value": 3427
  1939. },
  1940. {
  1941. "name": "张家界",
  1942. "value": 19919
  1943. },
  1944. {
  1945. "name": "信阳",
  1946. "value": 144594
  1947. },
  1948. {
  1949. "name": "德州",
  1950. "value": 180884
  1951. },
  1952. {
  1953. "name": "盐城",
  1954. "value": 214803
  1955. },
  1956. {
  1957. "name": "阿坝藏族羌族自治州",
  1958. "value": 6
  1959. },
  1960. {
  1961. "name": "承德",
  1962. "value": 89533
  1963. },
  1964. {
  1965. "name": "怒江傈僳族",
  1966. "value": 50
  1967. },
  1968. {
  1969. "name": "广元",
  1970. "value": 47565
  1971. },
  1972. {
  1973. "name": "凌源",
  1974. "value": 1
  1975. },
  1976. {
  1977. "name": "庆阳",
  1978. "value": 82780
  1979. },
  1980. {
  1981. "name": "本溪",
  1982. "value": 39920
  1983. },
  1984. {
  1985. "name": "盘州",
  1986. "value": 2
  1987. },
  1988. {
  1989. "name": "昌都",
  1990. "value": 9701
  1991. },
  1992. {
  1993. "name": "肇庆",
  1994. "value": 70831
  1995. },
  1996. {
  1997. "name": "永安",
  1998. "value": 1
  1999. },
  2000. {
  2001. "name": "绍兴",
  2002. "value": 150535
  2003. },
  2004. {
  2005. "name": "咸宁",
  2006. "value": 57352
  2007. },
  2008. {
  2009. "name": "启东",
  2010. "value": 3
  2011. },
  2012. {
  2013. "name": "临夏",
  2014. "value": 26427
  2015. },
  2016. {
  2017. "name": "鹰潭",
  2018. "value": 24227
  2019. },
  2020. {
  2021. "name": "琼海",
  2022. "value": 2844
  2023. },
  2024. {
  2025. "name": "桦甸",
  2026. "value": 5
  2027. },
  2028. {
  2029. "name": "省直辖县级行政区划",
  2030. "value": 4
  2031. },
  2032. {
  2033. "name": "海东",
  2034. "value": 28380
  2035. },
  2036. {
  2037. "name": "文昌",
  2038. "value": 2806
  2039. },
  2040. {
  2041. "name": "日照",
  2042. "value": 124225
  2043. },
  2044. {
  2045. "name": "玉树",
  2046. "value": 5089
  2047. },
  2048. {
  2049. "name": "台山",
  2050. "value": 1
  2051. },
  2052. {
  2053. "name": "泰州",
  2054. "value": 177028
  2055. },
  2056. {
  2057. "name": "黑河",
  2058. "value": 40173
  2059. },
  2060. {
  2061. "name": "高安",
  2062. "value": 3
  2063. },
  2064. {
  2065. "name": "南京",
  2066. "value": 647986
  2067. },
  2068. {
  2069. "name": "铜仁",
  2070. "value": 104984
  2071. },
  2072. {
  2073. "name": "盘锦",
  2074. "value": 61232
  2075. },
  2076. {
  2077. "name": "临沧",
  2078. "value": 40346
  2079. },
  2080. {
  2081. "name": "格尔木",
  2082. "value": 13
  2083. },
  2084. {
  2085. "name": "邹城",
  2086. "value": 1
  2087. },
  2088. {
  2089. "name": "三亚",
  2090. "value": 60867
  2091. },
  2092. {
  2093. "name": "南通",
  2094. "value": 241594
  2095. },
  2096. {
  2097. "name": "新郑",
  2098. "value": 1
  2099. },
  2100. {
  2101. "name": "金门",
  2102. "value": 1742
  2103. },
  2104. {
  2105. "name": "朔州",
  2106. "value": 46142
  2107. },
  2108. {
  2109. "name": "辽阳",
  2110. "value": 63291
  2111. },
  2112. {
  2113. "name": "鞍山",
  2114. "value": 97244
  2115. },
  2116. {
  2117. "name": "上海",
  2118. "value": 1863549
  2119. },
  2120. {
  2121. "name": "甘孜",
  2122. "value": 19541
  2123. },
  2124. {
  2125. "name": "常州溧阳",
  2126. "value": 1
  2127. },
  2128. {
  2129. "name": "塔城",
  2130. "value": 36759
  2131. },
  2132. {
  2133. "name": "普洱",
  2134. "value": 42527
  2135. },
  2136. {
  2137. "name": "抚州",
  2138. "value": 62608
  2139. },
  2140. {
  2141. "name": "邯郸",
  2142. "value": 241393
  2143. },
  2144. {
  2145. "name": "孝感",
  2146. "value": 69045
  2147. },
  2148. {
  2149. "name": "锡林郭勒",
  2150. "value": 24224
  2151. },
  2152. {
  2153. "name": "黄山",
  2154. "value": 28771
  2155. },
  2156. {
  2157. "name": "江都",
  2158. "value": 1
  2159. },
  2160. {
  2161. "name": "克孜勒苏柯尔克孜",
  2162. "value": 37
  2163. },
  2164. {
  2165. "name": "白银",
  2166. "value": 56861
  2167. },
  2168. {
  2169. "name": "吴江",
  2170. "value": 1
  2171. },
  2172. {
  2173. "name": "塔城地区",
  2174. "value": 3
  2175. },
  2176. {
  2177. "name": "新沂",
  2178. "value": 4
  2179. },
  2180. {
  2181. "name": "大丰",
  2182. "value": 1
  2183. },
  2184. {
  2185. "name": "峨眉山",
  2186. "value": 1
  2187. },
  2188. {
  2189. "name": "晋中",
  2190. "value": 83694
  2191. },
  2192. {
  2193. "name": "巢湖",
  2194. "value": 1
  2195. },
  2196. {
  2197. "name": "襄樊",
  2198. "value": 1
  2199. },
  2200. {
  2201. "name": "徐州",
  2202. "value": 287766
  2203. },
  2204. {
  2205. "name": "资阳",
  2206. "value": 38014
  2207. },
  2208. {
  2209. "name": "惠州",
  2210. "value": 200040
  2211. },
  2212. {
  2213. "name": "南昌",
  2214. "value": 199212
  2215. },
  2216. {
  2217. "name": "文山",
  2218. "value": 52728
  2219. },
  2220. {
  2221. "name": "安庆",
  2222. "value": 82570
  2223. },
  2224. {
  2225. "name": "嘉义",
  2226. "value": 981
  2227. },
  2228. {
  2229. "name": "亳州",
  2230. "value": 100402
  2231. },
  2232. {
  2233. "name": "文山壮族苗族自治州",
  2234. "value": 1
  2235. },
  2236. {
  2237. "name": "六安",
  2238. "value": 72144
  2239. },
  2240. {
  2241. "name": "衡阳",
  2242. "value": 66911
  2243. },
  2244. {
  2245. "name": "石家庄",
  2246. "value": 571662
  2247. },
  2248. {
  2249. "name": "瑞金",
  2250. "value": 12
  2251. },
  2252. {
  2253. "name": "资兴",
  2254. "value": 4
  2255. },
  2256. {
  2257. "name": "保定",
  2258. "value": 332971
  2259. },
  2260. {
  2261. "name": "陇南",
  2262. "value": 60613
  2263. },
  2264. {
  2265. "name": "都江堰",
  2266. "value": 1
  2267. },
  2268. {
  2269. "name": "丽水",
  2270. "value": 56140
  2271. },
  2272. {
  2273. "name": "义乌",
  2274. "value": 3
  2275. },
  2276. {
  2277. "name": "常熟",
  2278. "value": 2
  2279. },
  2280. {
  2281. "name": "阿拉善",
  2282. "value": 7645
  2283. },
  2284. {
  2285. "name": "兰溪",
  2286. "value": 3
  2287. },
  2288. {
  2289. "name": "松原",
  2290. "value": 58316
  2291. },
  2292. {
  2293. "name": "嘉兴",
  2294. "value": 156218
  2295. },
  2296. {
  2297. "name": "深州",
  2298. "value": 2
  2299. },
  2300. {
  2301. "name": "巴中",
  2302. "value": 55348
  2303. },
  2304. {
  2305. "name": "常州",
  2306. "value": 295863
  2307. },
  2308. {
  2309. "name": "阿坝",
  2310. "value": 23804
  2311. },
  2312. {
  2313. "name": "巴音郭楞蒙古",
  2314. "value": 3117
  2315. },
  2316. {
  2317. "name": "滕州",
  2318. "value": 2
  2319. }
  2320. ]
  2321. }

data_job.py

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2022/5/8 9:17
  3. # @Author : Tuomasi
  4. # @File : data_job.py
  5. from data import SourceDataDemo
  6. class JobData(SourceDataDemo):
  7. def __init__(self):
  8. """
  9. 按照 SourceDataDemo 的格式覆盖数据即可
  10. """
  11. super().__init__()
  12. self.title = '南京招聘大数据'
  13. self.counter = {'name': '招聘人数', 'value': 270665}
  14. self.counter2 = {'name': '招聘企业数', 'value': 11059}
  15. self.echart1_data = {
  16. 'title': '最缺人的行业',
  17. 'data': [
  18. {"name": "IT互联网", "value": 40215},
  19. {"name": "电子技术", "value": 17112},
  20. {"name": "建筑与工程", "value": 17022},
  21. {"name": "贸易进出口", "value": 16863},
  22. {"name": "机械重工", "value": 15705},
  23. {"name": "教育培训", "value": 11718},
  24. ]
  25. }
  26. self.echart2_data = {
  27. 'title': '最缺人的公司',
  28. 'data': [
  29. {"name": "外资", "value": 8991},
  30. {"name": "民营/私营", "value": 207644},
  31. {"name": "合资", "value": 8317},
  32. {"name": "事业单位", "value": 842},
  33. {"name": "台资/港资", "value": 10969},
  34. {"name": "国营企业", "value": 8901},
  35. {"name": "上市公司", "value": 13770},
  36. {"name": "其他", "value": 11231},
  37. ]
  38. }
  39. self.echarts3_1_data = {
  40. 'title': '工作时间',
  41. 'data': [
  42. {"name": "6.5小时", "value": 2105},
  43. {"name": "7小时", "value": 21761},
  44. {"name": "7.5小时", "value": 41025},
  45. {"name": "8小时", "value": 104917},
  46. {"name": "10小时", "value": 4910},
  47. {"name": "12小时", "value": 3883},
  48. ]
  49. }
  50. self.echarts3_2_data = {
  51. 'title': '上班天数',
  52. 'data': [
  53. {"name": "5天/周", "value": 84910},
  54. {"name": "5.5天/周", "value": 21530},
  55. {"name": "6天/周", "value": 56152},
  56. {"name": "6.5天/周", "value": 1574},
  57. {"name": "7天/周", "value": 1500},
  58. {"name": "大小周", "value": 7717},
  59. ]
  60. }
  61. self.echarts3_3_data = {
  62. 'title': '班制',
  63. 'data': [
  64. {"name": "正常白班", "value": 111140},
  65. {"name": "正常晚班", "value": 873},
  66. {"name": "正常夜班", "value": 121},
  67. {"name": "不定时工作制", "value": 4715},
  68. {"name": "2班倒", "value": 14977},
  69. {"name": "3班倒", "value": 1986},
  70. {"name": "4班倒", "value": 199},
  71. ]
  72. }
  73. self.echart4_data = {
  74. 'title': '学历与机遇',
  75. 'data': [
  76. {"name": "招聘人数",
  77. "value": [76837, 3942, 20330, 25676, 19644, 84883, 37838, 1428, 87]},
  78. {"name": "平均薪资",
  79. "value": [5474, 4065, 4461, 4771, 4819, 5818, 7458, 9226, 17128]},
  80. ],
  81. 'xAxis': ['不限', '小学', '初中', '中专', '高中', '大专', '本科', '硕士', '博士'],
  82. }
  83. self.echart5_data = {
  84. 'title': '平均薪资',
  85. 'data': [
  86. {"name": "外资", "value": 5412},
  87. {"name": "民营/私营", "value": 5812},
  88. {"name": "合资", "value": 5742},
  89. {"name": "事业单位", "value": 8224},
  90. {"name": "台资/港资", "value": 5239},
  91. {"name": "国营企业", "value": 5567},
  92. {"name": "上市公司", "value": 6432},
  93. {"name": "其他", "value": 5365},
  94. ]
  95. }
  96. self.echart6_data = {
  97. 'title': '工作年限与薪资',
  98. 'data': [
  99. {"name": "1-3年", "value": 5302, "value2": 15000 - 5302, "color": "01", "radius": ['59%', '70%']},
  100. {"name": "3-5年", "value": 6938, "value2": 15000 - 6938, "color": "02", "radius": ['49%', '60%']},
  101. {"name": "5-10年", "value": 9750, "value2": 15000 - 9750, "color": "03", "radius": ['39%', '50%']},
  102. {"name": "10年以上", "value": 14350, "value2": 15000 - 14350, "color": "05", "radius": ['29%', '40%']},
  103. {"name": "不限", "value": 5272, "value2": 15000 - 5272, "color": "05", "radius": ['20%', '30%']},
  104. ]
  105. }
  106. self.map_1_data = {
  107. 'symbolSize': 20000,
  108. 'data': [
  109. {
  110. "name": "甘肃省",
  111. "value": 9
  112. },
  113. {
  114. "name": "咸阳",
  115. "value": 9
  116. },
  117. {
  118. "name": "兰州",
  119. "value": 1
  120. },
  121. {
  122. "name": "拉萨",
  123. "value": 15
  124. },
  125. {
  126. "name": "咸宁",
  127. "value": 4
  128. },
  129. {
  130. "name": "湖州",
  131. "value": 1
  132. },
  133. {
  134. "name": "石家庄",
  135. "value": 2
  136. },
  137. {
  138. "name": "营口",
  139. "value": 1
  140. },
  141. {
  142. "name": "晋江",
  143. "value": 995
  144. },
  145. {
  146. "name": "湛江",
  147. "value": 1
  148. },
  149. {
  150. "name": "苏州",
  151. "value": 11
  152. },
  153. {
  154. "name": "宁德",
  155. "value": 326
  156. },
  157. {
  158. "name": "安溪",
  159. "value": 324
  160. },
  161. {
  162. "name": "连云港",
  163. "value": 23
  164. },
  165. {
  166. "name": "商洛",
  167. "value": 1
  168. },
  169. {
  170. "name": "潮州",
  171. "value": 37
  172. },
  173. {
  174. "name": "宁夏",
  175. "value": 4
  176. },
  177. {
  178. "name": "喀什地区",
  179. "value": 4
  180. },
  181. {
  182. "name": "烟台",
  183. "value": 2
  184. },
  185. {
  186. "name": "保定",
  187. "value": 2
  188. },
  189. {
  190. "name": "杭州",
  191. "value": 36
  192. },
  193. {
  194. "name": "厦门",
  195. "value": 231249
  196. },
  197. {
  198. "name": "运城",
  199. "value": 1
  200. },
  201. {
  202. "name": "福州",
  203. "value": 1438
  204. },
  205. {
  206. "name": "九江",
  207. "value": 1
  208. },
  209. {
  210. "name": "南平",
  211. "value": 248
  212. },
  213. {
  214. "name": "潜江",
  215. "value": 3
  216. },
  217. {
  218. "name": "新疆",
  219. "value": 3
  220. },
  221. {
  222. "name": "湖南省",
  223. "value": 62
  224. },
  225. {
  226. "name": "吉安",
  227. "value": 2
  228. },
  229. {
  230. "name": "遵义",
  231. "value": 2
  232. },
  233. {
  234. "name": "郑州",
  235. "value": 13
  236. },
  237. {
  238. "name": "福建省",
  239. "value": 20304
  240. },
  241. {
  242. "name": "三亚",
  243. "value": 4
  244. },
  245. {
  246. "name": "山西省",
  247. "value": 32
  248. },
  249. {
  250. "name": "扬州",
  251. "value": 1
  252. },
  253. {
  254. "name": "丽水",
  255. "value": 6
  256. },
  257. {
  258. "name": "内蒙古",
  259. "value": 5
  260. },
  261. {
  262. "name": "上饶",
  263. "value": 1
  264. },
  265. {
  266. "name": "盐城",
  267. "value": 2
  268. },
  269. {
  270. "name": "汕头",
  271. "value": 26
  272. },
  273. {
  274. "name": "南充",
  275. "value": 2
  276. },
  277. {
  278. "name": "安庆",
  279. "value": 1
  280. },
  281. {
  282. "name": "深圳",
  283. "value": 125
  284. },
  285. {
  286. "name": "南京",
  287. "value": 7
  288. },
  289. {
  290. "name": "青岛",
  291. "value": 8
  292. },
  293. {
  294. "name": "河北省",
  295. "value": 55
  296. },
  297. {
  298. "name": "黄浦区",
  299. "value": 7
  300. },
  301. {
  302. "name": "龙岩",
  303. "value": 1219
  304. },
  305. {
  306. "name": "西藏",
  307. "value": 1
  308. },
  309. {
  310. "name": "十堰",
  311. "value": 10
  312. },
  313. {
  314. "name": "安徽省",
  315. "value": 32
  316. },
  317. {
  318. "name": "德州",
  319. "value": 2
  320. },
  321. {
  322. "name": "泰州",
  323. "value": 1
  324. },
  325. {
  326. "name": "太仓",
  327. "value": 1
  328. },
  329. {
  330. "name": "广西",
  331. "value": 56
  332. },
  333. {
  334. "name": "南安",
  335. "value": 640
  336. },
  337. {
  338. "name": "芜湖",
  339. "value": 1
  340. },
  341. {
  342. "name": "肇庆",
  343. "value": 11
  344. },
  345. {
  346. "name": "陕西省",
  347. "value": 19
  348. },
  349. {
  350. "name": "揭阳",
  351. "value": 6
  352. },
  353. {
  354. "name": "成都",
  355. "value": 41
  356. },
  357. {
  358. "name": "武汉",
  359. "value": 13
  360. },
  361. {
  362. "name": "百色",
  363. "value": 5
  364. },
  365. {
  366. "name": "河池",
  367. "value": 1
  368. },
  369. {
  370. "name": "辽宁省",
  371. "value": 13
  372. },
  373. {
  374. "name": "大连",
  375. "value": 2
  376. },
  377. {
  378. "name": "鹰潭",
  379. "value": 4
  380. },
  381. {
  382. "name": "莆田",
  383. "value": 349
  384. },
  385. {
  386. "name": "张家港",
  387. "value": 1
  388. },
  389. {
  390. "name": "西安",
  391. "value": 13
  392. },
  393. {
  394. "name": "海南省",
  395. "value": 15
  396. },
  397. {
  398. "name": "贵州省",
  399. "value": 13
  400. },
  401. {
  402. "name": "上海",
  403. "value": 318
  404. },
  405. {
  406. "name": "五家渠",
  407. "value": 2
  408. },
  409. {
  410. "name": "宿州",
  411. "value": 1
  412. },
  413. {
  414. "name": "海淀区",
  415. "value": 3
  416. },
  417. {
  418. "name": "济南",
  419. "value": 1
  420. },
  421. {
  422. "name": "威海",
  423. "value": 1
  424. },
  425. {
  426. "name": "南宁",
  427. "value": 11
  428. },
  429. {
  430. "name": "梅州",
  431. "value": 3
  432. },
  433. {
  434. "name": "中山",
  435. "value": 9
  436. },
  437. {
  438. "name": "惠州",
  439. "value": 9
  440. },
  441. {
  442. "name": "武夷山",
  443. "value": 5
  444. },
  445. {
  446. "name": "昆明",
  447. "value": 8
  448. },
  449. {
  450. "name": "珠海",
  451. "value": 4
  452. },
  453. {
  454. "name": "金华",
  455. "value": 2
  456. },
  457. {
  458. "name": "江西省",
  459. "value": 117
  460. },
  461. {
  462. "name": "顺德",
  463. "value": 1
  464. },
  465. {
  466. "name": "唐山",
  467. "value": 3
  468. },
  469. {
  470. "name": "东莞",
  471. "value": 26
  472. },
  473. {
  474. "name": "抚州",
  475. "value": 1
  476. },
  477. {
  478. "name": "常熟",
  479. "value": 1
  480. },
  481. {
  482. "name": "贵阳",
  483. "value": 1
  484. },
  485. {
  486. "name": "沈阳",
  487. "value": 3
  488. },
  489. {
  490. "name": "台州",
  491. "value": 3
  492. },
  493. {
  494. "name": "长乐",
  495. "value": 9
  496. },
  497. {
  498. "name": "浙江省",
  499. "value": 209
  500. },
  501. {
  502. "name": "其他",
  503. "value": 11
  504. },
  505. {
  506. "name": "日照",
  507. "value": 1
  508. },
  509. {
  510. "name": "南通",
  511. "value": 1
  512. },
  513. {
  514. "name": "山东省",
  515. "value": 102
  516. },
  517. {
  518. "name": "仙桃",
  519. "value": 5
  520. },
  521. {
  522. "name": "黑龙江省",
  523. "value": 1
  524. },
  525. {
  526. "name": "赣州",
  527. "value": 16
  528. },
  529. {
  530. "name": "北京",
  531. "value": 177
  532. },
  533. {
  534. "name": "昆山",
  535. "value": 3
  536. },
  537. {
  538. "name": "浦东新区",
  539. "value": 17
  540. },
  541. {
  542. "name": "宁波",
  543. "value": 9
  544. },
  545. {
  546. "name": "福清",
  547. "value": 40
  548. },
  549. {
  550. "name": "石狮",
  551. "value": 354
  552. },
  553. {
  554. "name": "梧州",
  555. "value": 3
  556. },
  557. {
  558. "name": "国外",
  559. "value": 196
  560. },
  561. {
  562. "name": "佛山",
  563. "value": 21
  564. },
  565. {
  566. "name": "常州",
  567. "value": 1
  568. },
  569. {
  570. "name": "长治",
  571. "value": 2
  572. },
  573. {
  574. "name": "重庆",
  575. "value": 65
  576. },
  577. {
  578. "name": "江苏省",
  579. "value": 136
  580. },
  581. {
  582. "name": "三明",
  583. "value": 197
  584. },
  585. {
  586. "name": "合肥",
  587. "value": 6
  588. },
  589. {
  590. "name": "广州",
  591. "value": 73
  592. },
  593. {
  594. "name": "淮安",
  595. "value": 10
  596. },
  597. {
  598. "name": "温州",
  599. "value": 13
  600. },
  601. {
  602. "name": "朝阳区",
  603. "value": 5
  604. },
  605. {
  606. "name": "南昌",
  607. "value": 14
  608. },
  609. {
  610. "name": "绍兴",
  611. "value": 1
  612. },
  613. {
  614. "name": "徐州",
  615. "value": 8
  616. },
  617. {
  618. "name": "平顶山",
  619. "value": 3
  620. },
  621. {
  622. "name": "台湾",
  623. "value": 4
  624. },
  625. {
  626. "name": "",
  627. "value": 77
  628. },
  629. {
  630. "name": "河南省",
  631. "value": 34
  632. },
  633. {
  634. "name": "长沙",
  635. "value": 22
  636. },
  637. {
  638. "name": "湖北省",
  639. "value": 78
  640. },
  641. {
  642. "name": "山南",
  643. "value": 3
  644. },
  645. {
  646. "name": "漳州",
  647. "value": 7038
  648. },
  649. {
  650. "name": "四川省",
  651. "value": 125
  652. },
  653. {
  654. "name": "无锡",
  655. "value": 2
  656. },
  657. {
  658. "name": "香港",
  659. "value": 3
  660. },
  661. {
  662. "name": "泉州",
  663. "value": 2817
  664. },
  665. {
  666. "name": "临夏回族自治州",
  667. "value": 1
  668. },
  669. {
  670. "name": "银川",
  671. "value": 7
  672. },
  673. {
  674. "name": "荆门",
  675. "value": 1
  676. },
  677. {
  678. "name": "吉林省",
  679. "value": 8
  680. },
  681. {
  682. "name": "广东省",
  683. "value": 209
  684. },
  685. {
  686. "name": "义乌",
  687. "value": 5
  688. },
  689. {
  690. "name": "铜仁",
  691. "value": 1
  692. },
  693. {
  694. "name": "海口",
  695. "value": 9
  696. },
  697. {
  698. "name": "天津",
  699. "value": 69
  700. },
  701. {
  702. "name": "云南省",
  703. "value": 25
  704. }
  705. ]
  706. }

user_Data.py

  1. import os
  2. from data import SourceDataDemo
  3. from readsplit import GetUser
  4. from readsplit import GetStatic
  5. class userData(SourceDataDemo):
  6. def __init__(self):
  7. """
  8. 按照 SourceDataDemo 的格式覆盖数据即可
  9. """
  10. super().__init__()
  11. self.title = '用户消费大数据'
  12. self.counter = {'name': '企业总消费(全国)', 'value': 46897575}
  13. self.counter2 = {'name': '企业总消费(一线城市)', 'value': 6805564}
  14. filepath = os.getcwd() + '\\data\\UserBehavior_small.csv'
  15. self.echart1_data = {
  16. 'title': '用户消费数量分析',
  17. 'data': GetUser(filepath, 1e5)
  18. }
  19. self.echart2_data = {
  20. 'title': '省份分布',
  21. 'data': GetStatic(filepath, 1e5)
  22. }

readsplit.py

  1. import pandas as pd
  2. barx = None
  3. bary = None
  4. piex = None
  5. piey = None
  6. # 统计用户消费数量
  7. def GetUser(filepath, chunksize):
  8. global header
  9. # 数据没有header,因此不读取header
  10. reader = pd.read_csv(filepath, iterator=True, header=None)
  11. no = 0
  12. tmpdf = None
  13. count = 0
  14. while True:
  15. try:
  16. df = reader.get_chunk(chunksize)
  17. # print('数据块:'—+str(no))
  18. df = df.iloc[:, 0].to_frame()
  19. df.columns = ['user']
  20. df['num'] = 0
  21. if no == 0:
  22. count += df.shape[0]
  23. tmpdf = df.groupby(by=['user']).count()
  24. tmpdf['user'] = tmpdf.index.to_frame()
  25. else:
  26. count += df.shape[0]
  27. df = df.groupby(by=['user']).count()
  28. df['user'] = tmpdf.index.to_frame()
  29. tmpdf = pd.concat([tmpdf, df])
  30. tmpdf = tmpdf.groupby(tmpdf['user']).sum()
  31. tmpdf['user'] = tmpdf.index.to_frame()
  32. no += 1
  33. except StopIteration:
  34. print('GetUser Over')
  35. break
  36. # 消费次数最多的100个用户,一共消费了多少次
  37. max100df = tmpdf.sort_values(by='num')
  38. print("GetUser 用户数量必须和统计数量一致:" + str(max100df.shape[0]))
  39. max100df = max100df.tail(100)
  40. max100 = max100df.loc[:, 'num'].sum()
  41. # 消费次数少于20个用户,一共消费了多少次
  42. less20 = tmpdf.loc[tmpdf['num'] < 20, :]
  43. less20 = less20.loc[:, 'num'].sum()
  44. # return max100, less20, count
  45. return [
  46. {"name": "TOP100", "value": max100},
  47. {"name": "BLOW20", "value": less20},
  48. ]
  49. # def GetStatic(filepath, chunksize):
  50. # global header
  51. # def GetUser(filepath, chunksize):
  52. # global header
  53. #
  54. # # 数据没有header,因此不读取header
  55. # # 完成数据分析:
  56. # # 消费次数最多的100个用户,一共消费了多少次
  57. # # 消费次数小于20次的用户,一共消费了多少次
  58. #
  59. # # return max100, less20, count
  60. # return [
  61. # {"name": "TOP100", "value": max100},
  62. # {"name": "BLOW20", "value": less20},
  63. # ]
  64. def GetStatic(filepath, chunksize):
  65. global header
  66. reader = pd.read_csv(filepath, iterator=True, header=None)
  67. no = 0
  68. usrdf = 0
  69. productdf = 0
  70. typedf = 0
  71. while True:
  72. try:
  73. df = reader.get_chunk(chunksize)
  74. if no == 0:
  75. usrdf = df.iloc[:, 0].to_frame()
  76. productdf = df.iloc[:, 1].to_frame()
  77. typedf = df.iloc[:, 2].to_frame()
  78. usrdf = usrdf.drop_duplicates()
  79. productdf = productdf.drop_duplicates()
  80. typedf = typedf.drop_duplicates()
  81. else:
  82. tmpdf = df.iloc[:, 0].to_frame()
  83. usrdf = pd.concat([tmpdf, usrdf])
  84. usrdf = usrdf.drop_duplicates()
  85. tmpdf = df.iloc[:, 1].to_frame()
  86. productdf = pd.concat([tmpdf, productdf])
  87. productdf = productdf.drop_duplicates()
  88. tmpdf = df.iloc[:, 2].to_frame()
  89. typedf = pd.concat([tmpdf, typedf])
  90. typedf = typedf.drop_duplicates()
  91. no += 1
  92. except StopIteration:
  93. break
  94. return [
  95. {"name": "用户数", "value": usrdf.shape[0]},
  96. {"name": "产品数", "value": productdf.shape[0]},
  97. {"name": "类目数", "value": typedf.shape[0]},
  98. ]

八、index页面

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>大数据屏幕展示</title>
  6. <script type="text/javascript" src="./static/js/jquery.js"></script>
  7. <link rel="stylesheet" href="./static/css/comon0.css">
  8. </head>
  9. <script type="text/javascript" src="./static/js/loading.js"></script>
  10. <script type="text/javascript" src="./static/js/echarts.min.js"></script>
  11. <script type="text/javascript" src="./static/js/china.js"></script>
  12. <body>
  13. <!--这是一个动态的粒子效果图,设置了透明度为0.2-->
  14. <div class="canvas" style="opacity: 0.9">
  15. <iframe frameborder="0" src="./static/js/index.html" style="width: 100%; height: 100%"></iframe>
  16. </div>
  17. <!--这是一个在正式页面加载进来之前显示的加载小动画,文字可以修改-->
  18. <div class="loading">
  19. <div class="loadbox"><img src="./static/picture/loading.gif"> 我正在加载中...</div>
  20. </div>
  21. <div class="head">
  22. <h1>{{title}}</h1>
  23. <div class="weather">
  24. <img src="./static/picture/weather.png"><span>我是天气</span>
  25. <span id="showTime"></span>
  26. </div>
  27. <!-- 尝试放到js里面-->
  28. <script type="text/javascript" src="./static/js/showtime.js"></script>
  29. </div>
  30. <div class="mainbox">
  31. <ul class="clearfix">
  32. <!-- 第1栏 -->
  33. <li>
  34. <div class="boxall" style="height: 3.2rem">
  35. <div class="alltitle">{{form.echart1.title}}</div>
  36. <div class="allnav" id="echart1"></div>
  37. <div class="boxfoot"></div>
  38. </div>
  39. <div class="boxall" style="height: 3.2rem">
  40. <div class="alltitle">{{form.echart2.title}}</div>
  41. <div class="allnav" id="echart2"></div>
  42. <div class="boxfoot"></div>
  43. </div>
  44. <div class="boxall" style="height: 3.2rem">
  45. <div style="height:100%; width: 100%;">
  46. <div class="sy" id="fb1"></div>
  47. <div class="sy" id="fb2"></div>
  48. <div class="sy" id="fb3"></div>
  49. </div>
  50. <div class="boxfoot">
  51. </div>
  52. </div>
  53. </li>
  54. <!-- 第2栏 -->
  55. <li>
  56. <div class="bar">
  57. <!-- 放数字显示区域 -->
  58. <div class="barbox">
  59. <ul class="clearfix">
  60. <li class="pulll_left counter">{{form.counter.value}}</li>
  61. <li class="pulll_left counter">{{form.counter2.value}}</li>
  62. </ul>
  63. </div>
  64. <!-- 放文字显示区域 -->
  65. <div class="barbox2">
  66. <ul class="clearfix">
  67. <li class="pulll_left">{{form.counter.name}}</li>
  68. <li class="pulll_left">{{form.counter2.name}}</li>
  69. </ul>
  70. </div>
  71. </div>
  72. <div class="map">
  73. <!-- lbx 三角形组成的网 -->
  74. <div class="map1"><img src="./static/picture/lbx.png"></div>
  75. <!-- jt 围绕着地球旋转的一个光环 -->
  76. <div class="map2"><img src="./static/picture/jt.png"></div>
  77. <!-- map 是一个小地球 -->
  78. <div class="map3"><img src="./static/picture/map.png"></div>
  79. <!-- 这里估计是一个中国地图-->
  80. <div class="map4" id="map_1"></div>
  81. </div>
  82. </li>
  83. <!-- 第3栏-->
  84. <!-- 注意:这3个图表的高度不一致,但是总高度加起来和左边是一样的-->
  85. <li>
  86. <div class="boxall" style="height:3.4rem">
  87. <div class="alltitle">{{form.echart4.title}}</div>
  88. <div class="allnav" id="echart4"></div>
  89. <div class="boxfoot"></div>
  90. </div>
  91. <div class="boxall" style="height: 3.2rem">
  92. <div class="alltitle">{{form.echart5.title}}</div>
  93. <div class="allnav" id="echart5"></div>
  94. <div class="boxfoot"></div>
  95. </div>
  96. <div class="boxall" style="height: 3rem">
  97. <div class="alltitle">{{form.echart6.title}}</div>
  98. <div class="allnav" id="echart6"></div>
  99. <div class="boxfoot"></div>
  100. </div>
  101. </li>
  102. </ul>
  103. </div>
  104. <div class="back"></div>
  105. <!--echart1-->
  106. <!--<script type="text/javascript" src="../static/js/echarts_1.js"></script>-->
  107. <script>
  108. $(function echarts_1() {
  109. // 基于准备好的dom,初始化echarts实例
  110. var myChart = echarts.init(document.getElementById('echart1'));
  111. option = {
  112. backgroundColor: '#00265f', // 这个背景颜色是不透明的
  113. tooltip: {
  114. trigger: 'axis',
  115. axisPointer: {
  116. type: 'shadow'
  117. }
  118. },
  119. grid: {
  120. left: '0%',
  121. top: '0%',
  122. //top:'10px',
  123. right: '0%',
  124. bottom: '4%',
  125. containLabel: true // 表示坐标轴label标签也是grid图表的一部分
  126. },
  127. xAxis: [{
  128. type: 'category',
  129. data: {{form.echart1.xAxis|safe}},
  130. axisLine: {
  131. show: true,
  132. lineStyle: {
  133. color: "rgba(255,255,255,.1)",
  134. width: 1,
  135. type: "solid"
  136. },
  137. },
  138. axisTick: { show: false,},
  139. axisLabel: {
  140. interval: 0,
  141. rotate:50,
  142. show: true,
  143. splitNumber: 15,
  144. textStyle: {
  145. color: "rgba(255,255,255,.6)",
  146. fontSize: '12',},
  147. },}],
  148. yAxis: [{
  149. type: 'value',
  150. axisLabel: {
  151. //formatter: '{value} %'
  152. show:true,
  153. textStyle: {
  154. color: "rgba(255,255,255,.6)",
  155. fontSize: '12',
  156. },
  157. },
  158. axisTick: {
  159. show: false,
  160. },
  161. axisLine: {
  162. show: true,
  163. lineStyle: {
  164. color: "rgba(255,255,255,.1 )",
  165. width: 1,
  166. type: "solid"
  167. },
  168. },
  169. splitLine: {
  170. lineStyle: {
  171. color: "rgba(255,255,255,.1)",
  172. }
  173. }
  174. }],
  175. series: [
  176. {
  177. type: 'bar',
  178. data: {{form.echart1.series|safe}},
  179. barWidth:'35%', //柱子宽度
  180. // barGap: 1, //柱子之间间距
  181. itemStyle: {
  182. normal: {
  183. color:'#2f89cf',
  184. opacity: 1,
  185. barBorderRadius: 5,
  186. }
  187. }
  188. }
  189. ]
  190. };
  191. // 使用刚指定的配置项和数据显示图表。
  192. myChart.setOption(option);
  193. window.addEventListener("resize",function(){
  194. myChart.resize();
  195. });
  196. })
  197. </script>
  198. <!--echart2-->
  199. <script>
  200. $(function echarts_2() {
  201. // 基于准备好的dom,初始化echarts实例
  202. var myChart = echarts.init(document.getElementById('echart2'));
  203. option = {
  204. // backgroundColor: '#00265f',
  205. tooltip: {
  206. trigger: 'axis',
  207. axisPointer: { type: 'shadow'}
  208. },
  209. grid: {
  210. left: '0%',
  211. top:'10px',
  212. right: '0%',
  213. bottom: '4%',
  214. containLabel: true
  215. },
  216. xAxis: [{
  217. type: 'category',
  218. data: {{form.echart2.xAxis|safe}},
  219. axisLine: {
  220. show: true,
  221. lineStyle: {
  222. color: "rgba(255,255,255,.1)",
  223. width: 1,
  224. type: "solid"
  225. },
  226. },
  227. axisTick: {
  228. show: false,
  229. },
  230. axisLabel: {
  231. interval: 0,
  232. // rotate:50,
  233. show: true,
  234. splitNumber: 15,
  235. textStyle: {
  236. color: "rgba(255,255,255,.6)",
  237. fontSize: '12',
  238. },
  239. },
  240. }],
  241. yAxis: [{
  242. type: 'value',
  243. axisLabel: {
  244. //formatter: '{value} %'
  245. show:true,
  246. textStyle: {
  247. color: "rgba(255,255,255,.6)",
  248. fontSize: '12',
  249. },
  250. },
  251. axisTick: {
  252. show: false,
  253. },
  254. axisLine: {
  255. show: true,
  256. lineStyle: {
  257. color: "rgba(255,255,255,.1 )",
  258. width: 1,
  259. type: "solid"
  260. },
  261. },
  262. splitLine: {
  263. lineStyle: {
  264. color: "rgba(255,255,255,.1)",
  265. }
  266. }
  267. }],
  268. series: [
  269. {
  270. type: 'bar',
  271. data: {{form.echart2.series|safe}},
  272. barWidth:'35%', //柱子宽度
  273. // barGap: 1, //柱子之间间距
  274. itemStyle: {
  275. normal: {
  276. color:'#27d08a',
  277. opacity: 1,
  278. barBorderRadius: 5,
  279. }
  280. }
  281. }
  282. ]
  283. };
  284. // 使用刚指定的配置项和数据显示图表。
  285. myChart.setOption(option);
  286. window.addEventListener("resize",function(){
  287. myChart.resize();
  288. });
  289. })
  290. </script>
  291. <!--echarts3_1-->
  292. <script>
  293. $(function echarts_31() {
  294. // 基于准备好的dom,初始化echarts实例
  295. var myChart = echarts.init(document.getElementById('fb1'));
  296. option = {
  297. title: [{
  298. text: '{{form.echarts3_1.title}}',
  299. left: 'center',
  300. textStyle: {
  301. color: '#fff',
  302. fontSize:'16'
  303. }
  304. }],
  305. tooltip: { // 鼠标放上去之后浮标的设置选项
  306. trigger: 'item',
  307. formatter: "{a} <br/>{b}: {c} ({d}%)", // 标题,内容:数值%
  308. position:function(p){ //其中p为当前鼠标的位置
  309. return [p[0] + 10, p[1] - 10]; // 横坐标往上,纵坐标往右,便于观看
  310. }
  311. },
  312. legend: {
  313. top:'70%',
  314. itemWidth: 10,
  315. itemHeight: 10,
  316. data:{{form.echarts3_1.xAxis|safe}},
  317. textStyle: {
  318. color: 'rgba(255,255,255,.5)',
  319. fontSize:'12',
  320. }
  321. },
  322. series: [
  323. {
  324. name:'{{form.echarts3_1.title}}',
  325. type:'pie',
  326. center: ['50%', '42%'],
  327. radius: ['40%', '60%'],
  328. color: ['#065aab', '#066eab', '#0682ab', '#0696ab', '#06a0ab','#06b4ab','#06c8ab','#06dcab','#06f0ab'],
  329. label: {show:false},
  330. labelLine: {show:false},
  331. data:{{form.echarts3_1.data|safe}}
  332. }
  333. ]
  334. };
  335. // 使用刚指定的配置项和数据显示图表。
  336. myChart.setOption(option);
  337. window.addEventListener("resize",function(){
  338. myChart.resize();
  339. });
  340. })
  341. </script>
  342. <!--echarts3_2-->
  343. <script>
  344. $(function echarts_32() {
  345. // 基于准备好的dom,初始化echarts实例
  346. var myChart = echarts.init(document.getElementById('fb2'));
  347. option = {
  348. title: [{
  349. text: '{{form.echarts3_2.title}}',
  350. left: 'center',
  351. textStyle: {
  352. color: '#fff',
  353. fontSize:'16'
  354. }
  355. }],
  356. tooltip: {
  357. trigger: 'item',
  358. formatter: "{a} <br/>{b}: {c} ({d}%)",
  359. position:function(p){ //其中p为当前鼠标的位置
  360. return [p[0] + 10, p[1] - 10];
  361. }
  362. },
  363. legend: {
  364. top:'70%',
  365. itemWidth: 10,
  366. itemHeight: 10,
  367. data:{{form.echarts3_2.xAxis|safe}},
  368. textStyle: {
  369. color: 'rgba(255,255,255,.5)',
  370. fontSize:'12',
  371. }
  372. },
  373. series: [
  374. {
  375. name:'{{form.echarts3_2.title}}', // 这个标题是tooltip上显示的标题
  376. type:'pie',
  377. center: ['50%', '42%'],
  378. radius: ['40%', '60%'],
  379. color: ['#065aab', '#066eab', '#0682ab', '#0696ab', '#06a0ab','#06b4ab','#06c8ab','#06dcab','#06f0ab'],
  380. label: {show:false},
  381. labelLine: {show:false},
  382. data:{{form.echarts3_2.data|safe}}
  383. }
  384. ]
  385. };
  386. // 使用刚指定的配置项和数据显示图表。
  387. myChart.setOption(option);
  388. window.addEventListener("resize",function(){
  389. myChart.resize();
  390. });
  391. })
  392. </script>
  393. <!--echarts3_3-->
  394. <script>
  395. $(function echarts_33() {
  396. // 基于准备好的dom,初始化echarts实例
  397. var myChart = echarts.init(document.getElementById('fb3'));
  398. option = {
  399. title: [{
  400. text: '{{form.echarts3_3.title}}',
  401. left: 'center',
  402. textStyle: {
  403. color: '#fff',
  404. fontSize:'16'
  405. }
  406. }],
  407. tooltip: {
  408. trigger: 'item',
  409. formatter: "{a} <br/>{b}: {c} ({d}%)",
  410. position:function(p){ //其中p为当前鼠标的位置
  411. return [p[0] + 10, p[1] - 10];
  412. }
  413. },
  414. legend: {
  415. top:'70%',
  416. itemWidth: 10,
  417. itemHeight: 10,
  418. data:{{form.echarts3_3.xAxis|safe}},
  419. textStyle: {
  420. color: 'rgba(255,255,255,.5)',
  421. fontSize:'12',
  422. }
  423. },
  424. series: [
  425. {
  426. name:'{{form.echarts3_3.title}}',
  427. type:'pie',
  428. center: ['50%', '42%'],
  429. radius: ['40%', '60%'],
  430. color: ['#065aab', '#066eab', '#0682ab', '#0696ab', '#06a0ab','#06b4ab','#06c8ab','#06dcab','#06f0ab'],
  431. label: {show:false},
  432. labelLine: {show:false},
  433. data:{{form.echarts3_3.data|safe}}
  434. }
  435. ]
  436. };
  437. // 使用刚指定的配置项和数据显示图表。
  438. myChart.setOption(option);
  439. window.addEventListener("resize",function(){
  440. myChart.resize();
  441. });
  442. })
  443. </script>
  444. <!--echarts4-->
  445. <script>
  446. $(function echarts_4() {
  447. // 基于准备好的dom,初始化echarts实例
  448. var myChart = echarts.init(document.getElementById('echart4'));
  449. option = {
  450. tooltip: {
  451. trigger: 'axis',
  452. axisPointer: {
  453. lineStyle: {
  454. color: '#dddc6b'
  455. }
  456. }
  457. },
  458. legend: {
  459. top:'0%',
  460. data:{{form.echart4.names|safe}},
  461. textStyle: {
  462. color: 'rgba(255,255,255,.5)',
  463. fontSize:'12',
  464. }
  465. },
  466. grid: {
  467. left: '10',
  468. top: '30',
  469. right: '10',
  470. bottom: '10',
  471. containLabel: true // 包含坐标轴的图例
  472. },
  473. xAxis: [{
  474. type: 'category',
  475. boundaryGap: false,
  476. axisLabel: {
  477. textStyle: {
  478. color: "rgba(255,255,255,.6)",
  479. fontSize:12,
  480. },
  481. },
  482. axisLine: {
  483. lineStyle: {
  484. color: 'rgba(255,255,255,.2)'
  485. }
  486. },
  487. data: {{form.echart4.xAxis|safe}}
  488. },
  489. {
  490. axisPointer: {show: false},
  491. axisLine: {show: false},
  492. position: 'bottom',
  493. offset: 20,
  494. }],
  495. yAxis: [{
  496. type: 'value',
  497. axisTick: {show: false},
  498. axisLine: {
  499. lineStyle: {
  500. color: 'rgba(255,255,255,.1)'
  501. }
  502. },
  503. axisLabel: {
  504. textStyle: {
  505. color: "rgba(255,255,255,.6)",
  506. fontSize:12,
  507. },
  508. },
  509. splitLine: {
  510. lineStyle: {
  511. color: 'rgba(255,255,255,.1)'
  512. }
  513. }
  514. }],
  515. series: [
  516. {
  517. name: '{{form.echart4.data[0].name}}',
  518. data: {{form.echart4.data[0].value|safe}},
  519. type: 'line',
  520. smooth: true,
  521. symbol: 'circle',
  522. symbolSize: 5,
  523. showSymbol: false,
  524. lineStyle: {
  525. normal: {
  526. color: '#0184d5',
  527. width: 2
  528. }
  529. },
  530. areaStyle: {
  531. normal: {
  532. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  533. offset: 0,
  534. color: 'rgba(1, 132, 213, 0.4)'
  535. }, {
  536. offset: 0.8,
  537. color: 'rgba(1, 132, 213, 0.1)'
  538. }], false),
  539. shadowColor: 'rgba(0, 0, 0, 0.1)',
  540. }
  541. },
  542. itemStyle: {
  543. normal: {
  544. color: '#0184d5',
  545. borderColor: 'rgba(221, 220, 107, .1)',
  546. borderWidth: 12
  547. }
  548. },
  549. },
  550. {
  551. name: '{{form.echart4.data[1].name}}',
  552. data: {{form.echart4.data[1].value|safe}},
  553. type: 'line',
  554. smooth: true,
  555. symbol: 'circle',
  556. symbolSize: 5,
  557. showSymbol: false,
  558. lineStyle: {
  559. normal: {
  560. color: '#00d887',
  561. width: 2
  562. }
  563. },
  564. areaStyle: {
  565. normal: {
  566. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  567. offset: 0,
  568. color: 'rgba(0, 216, 135, 0.4)'
  569. }, {
  570. offset: 0.8,
  571. color: 'rgba(0, 216, 135, 0.1)'
  572. }], false),
  573. shadowColor: 'rgba(0, 0, 0, 0.1)',
  574. }
  575. },
  576. itemStyle: {
  577. normal: {
  578. color: '#00d887',
  579. borderColor: 'rgba(221, 220, 107, .1)',
  580. borderWidth: 12
  581. }
  582. },
  583. },
  584. ]
  585. };
  586. // 使用刚指定的配置项和数据显示图表。
  587. myChart.setOption(option);
  588. window.addEventListener("resize",function(){
  589. myChart.resize();
  590. });
  591. })
  592. </script>
  593. <!--echarts5-->
  594. <script>
  595. $(function echarts_5() {
  596. // 基于准备好的dom,初始化echarts实例
  597. var myChart = echarts.init(document.getElementById('echart5'));
  598. option = {
  599. // backgroundColor: '#00265f',
  600. tooltip: {
  601. trigger: 'axis',
  602. axisPointer: {
  603. type: 'shadow'
  604. }
  605. },
  606. grid: {
  607. left: '0%',
  608. top:'10px',
  609. right: '0%',
  610. bottom: '2%',
  611. containLabel: true
  612. },
  613. xAxis: [{
  614. type: 'category',
  615. data: {{form.echart5.xAxis|safe}},
  616. axisLine: {
  617. show: true,
  618. lineStyle: {
  619. color: "rgba(255,255,255,.1)",
  620. width: 1,
  621. type: "solid"
  622. },
  623. },
  624. axisTick: {
  625. show: false,
  626. },
  627. axisLabel: {
  628. interval: 0,
  629. // rotate:50,
  630. show: true,
  631. splitNumber: 15,
  632. textStyle: {
  633. color: "rgba(255,255,255,.6)",
  634. fontSize: '12',
  635. },
  636. },
  637. }],
  638. yAxis: [{
  639. type: 'value',
  640. axisLabel: {
  641. //formatter: '{value} %'
  642. show:true,
  643. textStyle: {
  644. color: "rgba(255,255,255,.6)",
  645. fontSize: '12',
  646. },
  647. },
  648. axisTick: {
  649. show: false,
  650. },
  651. axisLine: {
  652. show: true,
  653. lineStyle: {
  654. color: "rgba(255,255,255,.1 )",
  655. width: 1,
  656. type: "solid"
  657. },
  658. },
  659. splitLine: {
  660. lineStyle: {
  661. color: "rgba(255,255,255,.1)",
  662. }
  663. }
  664. }],
  665. series: [{
  666. type: 'bar',
  667. data: {{form.echart5.series|safe}},
  668. barWidth:'35%', //柱子宽度
  669. // barGap: 1, //柱子之间间距
  670. itemStyle: {
  671. normal: {
  672. color:'#2f89cf',
  673. opacity: 1,
  674. barBorderRadius: 5,
  675. }
  676. }
  677. }
  678. ]
  679. };
  680. // 使用刚指定的配置项和数据显示图表。
  681. myChart.setOption(option);
  682. window.addEventListener("resize",function(){
  683. myChart.resize();
  684. });
  685. })
  686. </script>
  687. <!--echarts6-->
  688. <script>
  689. $(function echarts_6() {
  690. // 基于准备好的dom,初始化echarts实例
  691. var myChart = echarts.init(document.getElementById('echart6'));
  692. var dataStyle = {
  693. normal: {
  694. label: {
  695. show: false
  696. },
  697. labelLine: {
  698. show: false
  699. },
  700. //shadowBlur: 40,
  701. //shadowColor: 'rgba(40, 40, 40, 1)',
  702. }
  703. };
  704. var placeHolderStyle = {
  705. normal: {
  706. color: 'rgba(255,255,255,.05)',
  707. label: {show: false,},
  708. labelLine: {show: false}
  709. },
  710. emphasis: {
  711. color: 'rgba(0,0,0,0)'
  712. }
  713. };
  714. option = {
  715. color: ['#0f63d6', '#0f78d6', '#0f8cd6', '#0fa0d6', '#0fb4d6'],
  716. tooltip: {
  717. show: true,
  718. formatter: "{a} : {c} "
  719. },
  720. legend: {
  721. itemWidth: 10,
  722. itemHeight: 10,
  723. itemGap: 12,
  724. bottom: '3%',
  725. data: {{form.echart6.xAxis|safe}},
  726. textStyle: {
  727. color: 'rgba(255,255,255,.6)',
  728. }
  729. },
  730. series: [
  731. {% for item in form.echart6.data %}
  732. {
  733. name: '{{item.name|safe}}',
  734. type: 'pie',
  735. clockWise: false,
  736. center: ['50%', '42%'],
  737. radius: {{item.radius|safe}},
  738. itemStyle: dataStyle,
  739. hoverAnimation: false,
  740. data: [{
  741. value: {{item.value}},
  742. name: '{{item.color}}'
  743. }, {
  744. value: {{item.value2}},
  745. name: 'invisible',
  746. tooltip: {show: false},
  747. itemStyle: placeHolderStyle
  748. }]
  749. },
  750. {% endfor %}
  751. ]
  752. };
  753. // 使用刚指定的配置项和数据显示图表。
  754. myChart.setOption(option);
  755. window.addEventListener("resize",function(){
  756. myChart.resize();
  757. });
  758. })
  759. </script>
  760. <!--map_1-->
  761. <script>
  762. $(function map() {
  763. // 基于准备好的dom,初始化echarts实例
  764. var myChart = echarts.init(document.getElementById('map_1'));
  765. var data = {{form.map_1.data|safe}};
  766. var geoCoordMap = {
  767. '海门':[121.15,31.89],
  768. '鄂尔多斯':[109.781327,39.608266],
  769. '招远':[120.38,37.35],
  770. '舟山':[122.207216,29.985295],
  771. '齐齐哈尔':[123.97,47.33],
  772. '盐城':[120.13,33.38],
  773. '赤峰':[118.87,42.28],
  774. '青岛':[120.33,36.07],
  775. '乳山':[121.52,36.89],
  776. '金昌':[102.188043,38.520089],
  777. '泉州':[118.58,24.93],
  778. '莱西':[120.53,36.86],
  779. '日照':[119.46,35.42],
  780. '胶南':[119.97,35.88],
  781. '南通':[121.05,32.08],
  782. '拉萨':[91.11,29.97],
  783. '云浮':[112.02,22.93],
  784. '梅州':[116.1,24.55],
  785. '文登':[122.05,37.2],
  786. '上海':[121.48,31.22],
  787. '攀枝花':[101.718637,26.582347],
  788. '威海':[122.1,37.5],
  789. '承德':[117.93,40.97],
  790. '厦门':[118.1,24.46],
  791. '汕尾':[115.375279,22.786211],
  792. '潮州':[116.63,23.68],
  793. '丹东':[124.37,40.13],
  794. '太仓':[121.1,31.45],
  795. '曲靖':[103.79,25.51],
  796. '烟台':[121.39,37.52],
  797. '福州':[119.3,26.08],
  798. '瓦房店':[121.979603,39.627114],
  799. '即墨':[120.45,36.38],
  800. '抚顺':[123.97,41.97],
  801. '玉溪':[102.52,24.35],
  802. '张家口':[114.87,40.82],
  803. '阳泉':[113.57,37.85],
  804. '莱州':[119.942327,37.177017],
  805. '湖州':[120.1,30.86],
  806. '汕头':[116.69,23.39],
  807. '昆山':[120.95,31.39],
  808. '宁波':[121.56,29.86],
  809. '湛江':[110.359377,21.270708],
  810. '揭阳':[116.35,23.55],
  811. '荣成':[122.41,37.16],
  812. '连云港':[119.16,34.59],
  813. '葫芦岛':[120.836932,40.711052],
  814. '常熟':[120.74,31.64],
  815. '东莞':[113.75,23.04],
  816. '河源':[114.68,23.73],
  817. '淮安':[119.15,33.5],
  818. '泰州':[119.9,32.49],
  819. '南宁':[108.33,22.84],
  820. '营口':[122.18,40.65],
  821. '惠州':[114.4,23.09],
  822. '江阴':[120.26,31.91],
  823. '蓬莱':[120.75,37.8],
  824. '韶关':[113.62,24.84],
  825. '嘉峪关':[98.289152,39.77313],
  826. '广州':[113.23,23.16],
  827. '延安':[109.47,36.6],
  828. '太原':[112.53,37.87],
  829. '清远':[113.01,23.7],
  830. '中山':[113.38,22.52],
  831. '昆明':[102.73,25.04],
  832. '寿光':[118.73,36.86],
  833. '盘锦':[122.070714,41.119997],
  834. '长治':[113.08,36.18],
  835. '深圳':[114.07,22.62],
  836. '珠海':[113.52,22.3],
  837. '宿迁':[118.3,33.96],
  838. '咸阳':[108.72,34.36],
  839. '铜川':[109.11,35.09],
  840. '平度':[119.97,36.77],
  841. '佛山':[113.11,23.05],
  842. '海口':[110.35,20.02],
  843. '江门':[113.06,22.61],
  844. '章丘':[117.53,36.72],
  845. '肇庆':[112.44,23.05],
  846. '大连':[121.62,38.92],
  847. '临汾':[111.5,36.08],
  848. '吴江':[120.63,31.16],
  849. '石嘴山':[106.39,39.04],
  850. '沈阳':[123.38,41.8],
  851. '苏州':[120.62,31.32],
  852. '茂名':[110.88,21.68],
  853. '嘉兴':[120.76,30.77],
  854. '长春':[125.35,43.88],
  855. '胶州':[120.03336,36.264622],
  856. '银川':[106.27,38.47],
  857. '张家港':[120.555821,31.875428],
  858. '三门峡':[111.19,34.76],
  859. '锦州':[121.15,41.13],
  860. '南昌':[115.89,28.68],
  861. '柳州':[109.4,24.33],
  862. '三亚':[109.511909,18.252847],
  863. '自贡':[104.778442,29.33903],
  864. '吉林':[126.57,43.87],
  865. '阳江':[111.95,21.85],
  866. '泸州':[105.39,28.91],
  867. '西宁':[101.74,36.56],
  868. '宜宾':[104.56,29.77],
  869. '呼和浩特':[111.65,40.82],
  870. '成都':[104.06,30.67],
  871. '大同':[113.3,40.12],
  872. '镇江':[119.44,32.2],
  873. '桂林':[110.28,25.29],
  874. '张家界':[110.479191,29.117096],
  875. '宜兴':[119.82,31.36],
  876. '北海':[109.12,21.49],
  877. '西安':[108.95,34.27],
  878. '金坛':[119.56,31.74],
  879. '东营':[118.49,37.46],
  880. '牡丹江':[129.58,44.6],
  881. '遵义':[106.9,27.7],
  882. '绍兴':[120.58,30.01],
  883. '扬州':[119.42,32.39],
  884. '常州':[119.95,31.79],
  885. '潍坊':[119.1,36.62],
  886. '重庆':[106.54,29.59],
  887. '台州':[121.420757,28.656386],
  888. '南京':[118.78,32.04],
  889. '滨州':[118.03,37.36],
  890. '贵阳':[106.71,26.57],
  891. '无锡':[120.29,31.59],
  892. '本溪':[123.73,41.3],
  893. '克拉玛依':[84.77,45.59],
  894. '渭南':[109.5,34.52],
  895. '马鞍山':[118.48,31.56],
  896. '宝鸡':[107.15,34.38],
  897. '焦作':[113.21,35.24],
  898. '句容':[119.16,31.95],
  899. '北京':[116.46,39.92],
  900. '徐州':[117.2,34.26],
  901. '衡水':[115.72,37.72],
  902. '包头':[110,40.58],
  903. '绵阳':[104.73,31.48],
  904. '乌鲁木齐':[87.68,43.77],
  905. '枣庄':[117.57,34.86],
  906. '杭州':[120.19,30.26],
  907. '淄博':[118.05,36.78],
  908. '鞍山':[122.85,41.12],
  909. '溧阳':[119.48,31.43],
  910. '库尔勒':[86.06,41.68],
  911. '安阳':[114.35,36.1],
  912. '开封':[114.35,34.79],
  913. '济南':[117,36.65],
  914. '德阳':[104.37,31.13],
  915. '温州':[120.65,28.01],
  916. '九江':[115.97,29.71],
  917. '邯郸':[114.47,36.6],
  918. '临安':[119.72,30.23],
  919. '兰州':[103.73,36.03],
  920. '沧州':[116.83,38.33],
  921. '临沂':[118.35,35.05],
  922. '南充':[106.110698,30.837793],
  923. '天津':[117.2,39.13],
  924. '富阳':[119.95,30.07],
  925. '泰安':[117.13,36.18],
  926. '诸暨':[120.23,29.71],
  927. '郑州':[113.65,34.76],
  928. '哈尔滨':[126.63,45.75],
  929. '聊城':[115.97,36.45],
  930. '芜湖':[118.38,31.33],
  931. '唐山':[118.02,39.63],
  932. '平顶山':[113.29,33.75],
  933. '邢台':[114.48,37.05],
  934. '德州':[116.29,37.45],
  935. '济宁':[116.59,35.38],
  936. '荆州':[112.239741,30.335165],
  937. '宜昌':[111.3,30.7],
  938. '义乌':[120.06,29.32],
  939. '丽水':[119.92,28.45],
  940. '洛阳':[112.44,34.7],
  941. '秦皇岛':[119.57,39.95],
  942. '株洲':[113.16,27.83],
  943. '石家庄':[114.48,38.03],
  944. '莱芜':[117.67,36.19],
  945. '常德':[111.69,29.05],
  946. '保定':[115.48,38.85],
  947. '湘潭':[112.91,27.87],
  948. '金华':[119.64,29.12],
  949. '岳阳':[113.09,29.37],
  950. '长沙':[113,28.21],
  951. '衢州':[118.88,28.97],
  952. '廊坊':[116.7,39.53],
  953. '菏泽':[115.480656,35.23375],
  954. '合肥':[117.27,31.86],
  955. '武汉':[114.31,30.52],
  956. '大庆':[125.03,46.58]
  957. };
  958. var convertData = function (data) {
  959. var res = [];
  960. for (var i = 0; i < data.length; i++) {
  961. var geoCoord = geoCoordMap[data[i].name];
  962. if (geoCoord) {
  963. res.push({
  964. name: data[i].name,
  965. value: geoCoord.concat(data[i].value)
  966. });
  967. }
  968. }
  969. return res;
  970. };
  971. option = {
  972. tooltip : {
  973. trigger: 'item',
  974. formatter: function (params) {
  975. if(typeof(params.value)[2] == "undefined"){
  976. return params.name + ' : ' + params.value;
  977. }else{
  978. return params.name + ' : ' + params.value[2];
  979. }
  980. }
  981. },
  982. geo: {
  983. map: 'china',
  984. label: {
  985. emphasis: {
  986. show: false
  987. }
  988. },
  989. roam: false,//禁止其放大缩小
  990. itemStyle: {
  991. normal: {
  992. areaColor: '#4c60ff',
  993. borderColor: '#002097'
  994. },
  995. emphasis: {
  996. areaColor: '#293fff'
  997. }
  998. }
  999. },
  1000. series : [
  1001. {
  1002. name: '消费金额',
  1003. type: 'scatter',
  1004. coordinateSystem: 'geo',
  1005. data: convertData(data),
  1006. symbolSize: function (val) {
  1007. return val[2] / {{form.map_1.symbolSize}};
  1008. },
  1009. label: {
  1010. normal: {
  1011. formatter: '{b}',
  1012. position: 'right',
  1013. show: false
  1014. },
  1015. emphasis: {
  1016. show: true
  1017. }
  1018. },
  1019. itemStyle: {
  1020. normal: {
  1021. color: '#ffeb7b'
  1022. }
  1023. }
  1024. }
  1025. ]
  1026. };
  1027. myChart.setOption(option);
  1028. window.addEventListener("resize",function(){
  1029. myChart.resize();
  1030. });
  1031. }
  1032. )
  1033. </script>
  1034. </body>
  1035. </html>

源码获取

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发