• 数据可视化——pyecharts库绘图


     目录

    官方文档

    使用说明: 

    点击基本图表

    可以点击你想要的图表

    安装:

     一些例图:

    柱状图:

     效果:

     折线图:

     效果:

    环形图:

    效果: 

     南丁格尔图(玫瑰图):

    效果:

    堆叠折线图:

    效果:

    堆叠柱状图:

     ​编辑

     拟合散点曲线图:




    官方文档

    使用说明: 

    点击基本图表

    • 可以点击你想要的图表

    • 可以点击Demo里面有例图以及代码,可以复制下来再根据需求来改
    • 要查询图表的配置也可以到全局配置里面查找

    安装:

    pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

     一些例图:

    这里引用的是一个全国各省份的GDP数据(需要拿来练习的可以私我拿数据~)

    柱状图:

    1. import pandas as pd
    2. from pyecharts import options as opts
    3. from pyecharts.charts import Bar
    4. from pyecharts.globals import ThemeType
    5. # 加载数据集
    6. data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
    7. # 提取2016年的数据并按GDP降序排列取前10个省份
    8. data_2016 = data[['province','2016']]
    9. top_10_gdp = data_2016['2016'].sort_values(ascending=False).head(10)
    10. top_10_province = data_2016.loc[top_10_gdp.index, 'province']
    11. # 获取省份和GDP数据
    12. provinces = top_10_province.tolist()
    13. gdp_values = top_10_gdp.tolist()
    14. # 使用Pyecharts绘制柱状图
    15. init_opts=opts.InitOpts(width='1000px',height='450px',theme=ThemeType.LIGHT)
    16. bar = (
    17. Bar()
    18. .add_xaxis(provinces)
    19. .add_yaxis("GDP",gdp_values)
    20. .set_global_opts(
    21. title_opts=opts.TitleOpts(title="2016年全国排名前10的省份GDP"),
    22. xaxis_opts=opts.AxisOpts(name="省份"),
    23. yaxis_opts=opts.AxisOpts(name="GDP(亿元)"),
    24. )
    25. )
    26. bar.render_notebook() # 将图表保存为HTML文件

     效果:

     折线图

    1. from pyecharts.charts import Line
    2. from pyecharts import options as opts
    3. data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
    4. data_gx=data.loc[19]
    5. data_gx
    6. year_gx=data_gx.index.to_list()[1:][::-1]
    7. gdp=list(data_gx.values)[1:][::-1]
    8. years=year_gx[:10]
    9. line = (
    10. Line()
    11. .add_xaxis(years)
    12. .add_yaxis("广西GDP", gdp) # 设置曲线光滑
    13. .set_global_opts(
    14. title_opts=opts.TitleOpts(title="广西1997年至2016年的折线图"),
    15. xaxis_opts=opts.AxisOpts(name="年份"),
    16. yaxis_opts=opts.AxisOpts(name="GDP") # 在这里添加逗号
    17. )
    18. )
    19. line.render_notebook()

     效果:

    环形图:

    1. import matplotlib.pyplot as plt
    2. from pyecharts import options as opts
    3. from pyecharts.charts import Pie # 导入 Pie 类
    4. data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
    5. data_2014 = data[['province', '2014']]
    6. top_10_gdp = data_2014['2014'].sort_values(ascending=False).head(10)
    7. top_10_province = data_2014.loc[top_10_gdp.index, 'province']
    8. gdp = top_10_gdp.tolist()
    9. provinces = top_10_province.tolist()
    10. pie=Pie()
    11. pie.add('',[list(z)for z in zip(provinces,gdp)],radius=[70, 150])
    12. pie.set_global_opts(title_opts=opts.TitleOpts(title='2024年全国各省GDP排名前十的省份', pos_top="5%"),
    13. legend_opts=opts.LegendOpts(pos_bottom="5%")
    14. )
    15. pie.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}亿元({d}%)'))
    16. pie.render_notebook()

    效果: 

     南丁格尔图(玫瑰图):

    1. import matplotlib.pyplot as plt
    2. from pyecharts import options as opts
    3. from pyecharts.charts import Page, Pie
    4. data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
    5. data_gx=data.loc[19]
    6. #获取广西近八年GDP数据
    7. year_gx=data_gx.index.to_list()[1:]
    8. year_gx=year_gx[:8]
    9. gdp_gx=list(data_gx.values)[1:][:8]
    10. #获取江苏近八年GDP数据
    11. data_js=data.loc[9]
    12. year_js=data_js.index.to_list()[1:][:8]
    13. gdp_js=list(data_js.values)[1:][:8]
    14. # 绘制广西南丁格尔玫瑰图(area型)
    15. guangxi_pie = (
    16. Pie()
    17. .add(
    18. series_name="广西近8年的GDP", # 系列名称
    19. data_pair=[list(z) for z in zip(year_gx, gdp_gx)], # 数据对,形如 [('2014', 100), ('2015', 120), ...]
    20. radius=[50, 200], # 设置半径,形成南丁格尔玫瑰图
    21. rosetype="area", # 设置玫瑰图类型为 area
    22. )
    23. .set_global_opts(
    24. title_opts=opts.TitleOpts(title="广西近8年 GDP 变化"), # 设置标题
    25. legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")
    26. )
    27. .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
    28. )
    29. # 绘制江苏南丁格尔玫瑰图(radius型)
    30. jiangsu_pie = (
    31. Pie()
    32. .add(
    33. series_name="江苏 GDP 变化", # 系列名称
    34. data_pair=[list(z) for z in zip(year_js, gdp_js)], # 数据对,形如 [('2014', 200), ('2015', 220), ...]
    35. radius=[50, 200], # 设置半径,形成南丁格尔玫瑰图
    36. rosetype="radius", # 设置玫瑰图类型为 radius
    37. )
    38. .set_global_opts(
    39. title_opts=opts.TitleOpts(title="江苏近8年 GDP 变化"), # 设置标题
    40. legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")
    41. )
    42. .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
    43. )
    44. # 创建一个页面,并将两个图添加到页面中
    45. page = Page()
    46. page.add(guangxi_pie)
    47. page.add(jiangsu_pie)
    48. # 渲染并保存 HTML 文件
    49. page.render_notebook()

    效果:

    堆叠折线图:

    1. import pandas as pd
    2. from pyecharts import options as opts
    3. from pyecharts.charts import Line
    4. from pyecharts.globals import ThemeType
    5. from pyecharts import options as opts
    6. data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv')
    7. # 截取北京的数据
    8. data_bj = data.loc[0]
    9. year_bj = data_bj.index.to_list()[1:]
    10. gdp_bj = list(data_bj.values)[1:]
    11. # 截取上海数据
    12. data_sh = data.loc[8]
    13. year_sh = data_sh.index.to_list()[1:]
    14. gdp_sh = list(data_sh.values)[1:]
    15. # 截取广东数据
    16. data_gd = data.loc[18]
    17. year_gd = data_gd.index.to_list()[1:]
    18. gdp_gd = list(data_gd.values)[1:]
    19. # 创建堆叠面积图对象
    20. line = Line()
    21. # 添加数据并设置堆叠属性
    22. line.add_xaxis(year_bj)
    23. line.add_yaxis("北京", gdp_bj, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
    24. line.add_yaxis("上海", gdp_sh, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
    25. line.add_yaxis("广东", gdp_gd, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
    26. # 设置全局配置项
    27. line.set_global_opts(
    28. title_opts=opts.TitleOpts(title="北京、上海、广东历年GDP变化堆叠面积图"),
    29. xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
    30. yaxis_opts=opts.AxisOpts(type_="value", name="GDP(亿元)"),
    31. tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross")
    32. )
    33. # 渲染图像
    34. line.render_notebook()

    效果:

    堆叠柱状图

    1. from pyecharts.charts import Bar
    2. import pandas as pd
    3. from pyecharts import options as opts
    4. from pyecharts.globals import ThemeType
    5. #截取广西数据
    6. data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv')
    7. data_gx=data.loc[19]
    8. year_gx=data_gx.index.to_list()[1:][::-1]
    9. gdp_gx=list(data_gx.values)[1:][::-1]
    10. #截取广东数据
    11. data_gd=data.loc[18]
    12. year_gd=data_gd.index.to_list()[1:][::-1]
    13. gdp_gd=list(data_gd.values)[1:][::-1]
    14. # 绘制堆叠柱状图
    15. bar = Bar() # 注意:这里你可能需要导入InitOpts,但在某些版本的Pyecharts中可能不是必需的
    16. bar.add_xaxis(year_gx)
    17. # 注意:添加stack参数并将值设置为相同的字符串(例如'gdp'),以使序列堆叠
    18. bar.add_yaxis("广西", gdp_gx, stack="gdp")
    19. bar.add_yaxis("广东", gdp_gd, stack="gdp")
    20. bar.set_global_opts(
    21. title_opts=opts.TitleOpts(title="近年来广西和广东的GDP趋势"),
    22. xaxis_opts=opts.AxisOpts(type_="category"),
    23. yaxis_opts=opts.AxisOpts(type_="value", name="GDP (亿元)"),
    24. legend_opts=opts.LegendOpts(pos_left="center", pos_top="top")
    25. )
    26. bar.render_notebook()

     

     拟合散点曲线图:

    1. mport pandas as pd
    2. import numpy as np
    3. from pyecharts import options as opts
    4. from pyecharts.charts import Line
    5. from pyecharts.charts import Scatter
    6. from pyecharts.globals import ThemeType
    7. data=pd.read_csv(r"D:\Dabby\Documents\数据可视化\gdp.csv",encoding='utf-8')
    8. #截取广西数据
    9. data_gx=data.loc[19]
    10. year_gx=data_gx.index.to_list()[1:]
    11. gdp_gx=list(data_gx.values)[1:]
    12. #先绘制散点图
    13. scatter=Scatter()
    14. scatter.add_xaxis(year_gx)
    15. scatter.add_yaxis("GDP",gdp_gx)
    16. scatter.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    17. scatter.set_global_opts(title_opts=opts.TitleOpts(title='广西的20年gdp散点拟合曲线'))
    18. scatter.render_notebook()
    19. #计算拟合三次多项式的x,y,z
    20. year_gx_float = np.array(year_gx, dtype=float)
    21. gdp_gx_float = np.array(gdp_gx, dtype=float)
    22. poly=np.polyfit(year_gx_float,gdp_gx_float,deg=3)
    23. #绘制拟合曲线散点图
    24. line=Line()
    25. line.add_xaxis(list(year_gx))
    26. line.add_yaxis('GDP', np.polyval(poly, year_gx_float))
    27. line.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    28. scatter.overlap(line)
    29. scatter.render_notebook()

  • 相关阅读:
    nginx 客户端返回499的错误码
    mindspore构建网络时,自己定义的函数或层不能正常使用
    matlab abel变换图片处理
    李彦宏:我们即将进入一个AI原生的时代|百度世界2023
    企业怎么优化固定资产管理
    部署仪表盘遇到的问题
    iOS——引用计数(一)
    文心一言 VS 讯飞星火 VS chatgpt (121)-- 算法导论10.4 2题
    linux top——COMMAND-LINE Options
    【算法集训专题攻克篇】第十四篇之栈
  • 原文地址:https://blog.csdn.net/2301_80544540/article/details/139581601