目录

使用说明:



pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
这里引用的是一个全国各省份的GDP数据(需要拿来练习的可以私我拿数据~)

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

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

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

- import matplotlib.pyplot as plt
- from pyecharts import options as opts
- from pyecharts.charts import Page, Pie
- data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
- data_gx=data.loc[19]
- #获取广西近八年GDP数据
- year_gx=data_gx.index.to_list()[1:]
- year_gx=year_gx[:8]
- gdp_gx=list(data_gx.values)[1:][:8]
-
- #获取江苏近八年GDP数据
- data_js=data.loc[9]
- year_js=data_js.index.to_list()[1:][:8]
- gdp_js=list(data_js.values)[1:][:8]
-
- # 绘制广西南丁格尔玫瑰图(area型)
- guangxi_pie = (
- Pie()
- .add(
- series_name="广西近8年的GDP", # 系列名称
- data_pair=[list(z) for z in zip(year_gx, gdp_gx)], # 数据对,形如 [('2014', 100), ('2015', 120), ...]
- radius=[50, 200], # 设置半径,形成南丁格尔玫瑰图
- rosetype="area", # 设置玫瑰图类型为 area
- )
- .set_global_opts(
- title_opts=opts.TitleOpts(title="广西近8年 GDP 变化"), # 设置标题
- legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")
- )
- .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
- )
-
- # 绘制江苏南丁格尔玫瑰图(radius型)
- jiangsu_pie = (
- Pie()
- .add(
- series_name="江苏 GDP 变化", # 系列名称
- data_pair=[list(z) for z in zip(year_js, gdp_js)], # 数据对,形如 [('2014', 200), ('2015', 220), ...]
- radius=[50, 200], # 设置半径,形成南丁格尔玫瑰图
- rosetype="radius", # 设置玫瑰图类型为 radius
- )
- .set_global_opts(
- title_opts=opts.TitleOpts(title="江苏近8年 GDP 变化"), # 设置标题
- legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")
- )
- .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
- )
-
- # 创建一个页面,并将两个图添加到页面中
- page = Page()
- page.add(guangxi_pie)
- page.add(jiangsu_pie)
-
- # 渲染并保存 HTML 文件
- page.render_notebook()

-
- import pandas as pd
- from pyecharts import options as opts
- from pyecharts.charts import Line
- from pyecharts.globals import ThemeType
- from pyecharts import options as opts
- data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv')
- # 截取北京的数据
- data_bj = data.loc[0]
- year_bj = data_bj.index.to_list()[1:]
- gdp_bj = list(data_bj.values)[1:]
-
- # 截取上海数据
- data_sh = data.loc[8]
- year_sh = data_sh.index.to_list()[1:]
- gdp_sh = list(data_sh.values)[1:]
-
- # 截取广东数据
- data_gd = data.loc[18]
- year_gd = data_gd.index.to_list()[1:]
- gdp_gd = list(data_gd.values)[1:]
-
- # 创建堆叠面积图对象
- line = Line()
-
- # 添加数据并设置堆叠属性
- line.add_xaxis(year_bj)
- line.add_yaxis("北京", gdp_bj, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
- line.add_yaxis("上海", gdp_sh, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
- line.add_yaxis("广东", gdp_gd, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
-
- # 设置全局配置项
- line.set_global_opts(
- title_opts=opts.TitleOpts(title="北京、上海、广东历年GDP变化堆叠面积图"),
- xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
- yaxis_opts=opts.AxisOpts(type_="value", name="GDP(亿元)"),
- tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross")
- )
-
- # 渲染图像
- line.render_notebook()

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

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