当前位置:   article > 正文

数据可视化-Python

数据可视化-Python

师从黑马程序员

Json的应用

Json的概念

Json的作用

Json格式数据转化

Python数据和Json数据的相互转化

注:把字典列表变为字符串用dumps,把字符串还原回字典或列表用loads

  1. import json
  2. #准备列表,列表内每一个元素都是字典,将其转化为Json
  3. data=[{"name":"张大仙","age":11},{"name":"王大锤","age":13},{"name":"赵小虎","age":16}]
  4. json_str=json.dumps(data,ensure_ascii=False)
  5. """
  6. 如果包含中文要添加ensure_ascii=False,让内容正确的展示出来
  7. """
  8. print(type(json_str))
  9. print(json_str)
  10. #准备字典,将字典转化为JSON
  11. d={"name":"周杰伦","addr":"台北"}
  12. json_str=json.dumps(d,ensure_ascii=False)
  13. print(type(json_str))
  14. print(json_str)
  15. #将JSON字符串转化为Python数据类型[{k:v,k:v},{k:v,k:v}]
  16. s='[{"name":"张大仙","age":11},{"name":"王大锤","age":13},{"name":"赵小虎","age":16}]'
  17. l=json.loads(s)
  18. print(type(l))
  19. print(l)
  20. #将JSON字符串转化为Python数据类型{k:v,k:v}
  21. s='{"name":"周杰伦","addr":"台北"}'
  22. d=json.loads(s)
  23. print(type(d))
  24. print(d)

pyechart模块介绍

pyecharts入门使用

基础折线图

  1. #导包
  2. from pyecharts.charts import Line
  3. #创建一个折线图对象
  4. line =Line()
  5. #给折线图对象添加x轴的数据
  6. line.add_xaxis(["中国","美国","英国"])
  7. #给折线图对象添加y轴的数据
  8. line.add_yaxis("GDP",[30,20,10])
  9. #设置全局配置项
  10. line.render()

pycharts的配置选项

全局配置选项

系列配置选项

set_global_opts方法

  1. #导包
  2. from pyecharts.charts import Line
  3. from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
  4. #创建一个折线图对象
  5. line =Line()
  6. #给折线图对象添加x轴的数据
  7. line.add_xaxis(["中国","美国","英国"])
  8. #给折线图对象添加y轴的数据
  9. line.add_yaxis("GDP",[30,20,10])
  10. #设置全局配置项
  11. line.set_global_opts(
  12. title_opts=TitleOpts(title="GDP展示",pos_left="center",pos_bottom="1%"),
  13. legend_opts=LegendOpts(is_show=True),
  14. toolbox_opts=ToolboxOpts(is_show=True),
  15. visualmap_opts=VisualMapOpts(is_show=True),
  16. )
  17. line.render()

数据处理

  1. import json
  2. from pyecharts.charts import Line
  3. from pyecharts.options import TitleOpts,LabelOpts
  4. #处理数据
  5. f_us=open("D:/美国.txt","r",encoding="UTF-8")
  6. us_data=f_us.read()#美国的全部内容
  7. f_jp=open("D:/日本.txt","r",encoding="UTF-8")
  8. jp_data=f_jp.read()#日本的全部内容
  9. f_in=open("D:/印度.txt","r",encoding="UTF-8")
  10. in_data=f_in.read()#美国的全部内容
  11. #去掉不合JSON规范的开头
  12. us_data=us_data.replace("jsonp_1629344292311_69436(","")#美国
  13. jp_data=jp_data.replace("jsonp_1629350871167_29498(","")#日本
  14. in_data=in_data.replace("jsonp_1629350745930_63180(","")#印度
  15. #去掉不合JSON规范的结尾
  16. us_data=us_data[:-2]#美国
  17. jp_data=jp_data[:-2]#日本
  18. in_data=in_data[:-2]#印度
  19. #JSON转Python字典
  20. us_dict=json.loads(us_data)
  21. jp_dict=json.loads(jp_data)
  22. in_dict=json.loads(in_data)
  23. #获取trand key
  24. us_trend_data=us_dict['data'][0]['trend']
  25. jp_trend_data=jp_dict['data'][0]['trend']
  26. in_trend_data=in_dict['data'][0]['trend']
  27. #获取日期数据,用于x轴,取2020年(到314结束)
  28. us_x_data=us_trend_data['updateDate'][:314]
  29. jp_x_data=us_trend_data['updateDate'][:314]
  30. in_x_data=us_trend_data['updateDate'][:314]
  31. #获取确认数据,用于y轴,取2020年(到314结束)
  32. us_y_date=us_trend_data['list'][0]['data'][:314]
  33. jp_y_date=jp_trend_data['list'][0]['data'][:314]
  34. in_y_date=in_trend_data['list'][0]['data'][:314]
  35. #生成图表
  36. line=Line()#构建折线图对象
  37. #添加x轴数据
  38. line.add_xaxis(us_x_data)
  39. #添加y轴数据
  40. line.add_yaxis("美国确诊人数",us_y_date,label_opts=LabelOpts(is_show=False))
  41. line.add_yaxis("日本确诊人数",jp_y_date,label_opts=LabelOpts(is_show=False))
  42. line.add_yaxis("印度确诊人数",in_y_date,label_opts=LabelOpts(is_show=False))
  43. #设置全局选项
  44. line.set_global_opts(
  45. #标题设置
  46. title_opts=TitleOpts(title="美日印三国确诊人数对比折线图",pos_left="center",pos_bottom="1%")
  47. )
  48. #调用render方法,生成图表
  49. line.render()
  50. #关闭文件对象
  51. f_us.close()
  52. f_in.close()
  53. f_jp.close()

若有侵权,请联系作者

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/363801
推荐阅读
相关标签
  

闽ICP备14008679号