数据可视化——pyecharts库绘图

目录

官方文档

使用说明:

点击基本图表

可以点击你想要的图表

安装:

一些例图:

柱状图:

效果:

折线图:

效果:

环形图:

效果:

南丁格尔图(玫瑰图):

效果:

堆叠折线图:

效果:

堆叠柱状图:

​编辑

拟合散点曲线图:


官方文档

使用说明:

点击基本图表

可以点击你想要的图表

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

安装:

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

一些例图:

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

柱状图:

python 复制代码
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文件

效果:

折线图:

python 复制代码
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()

效果:

环形图:

python 复制代码
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()

效果:

南丁格尔图(玫瑰图):

python 复制代码
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()

效果:

堆叠折线图:

python 复制代码
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()

效果:

堆叠柱状图:

python 复制代码
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()

拟合散点曲线图:

python 复制代码
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()
相关推荐
凭栏落花侧8 小时前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析
bin915310 小时前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
bin91531 天前
【EXCEL数据处理】000009 案列 EXCEL单元格数字格式。文本型数字格式和常规型数字格式的区别
大数据·前端·数据库·信息可视化·数据分析·excel·数据可视化
安冬的码畜日常1 天前
【D3.js in Action 3 精译_028】3.4 小节 DIY 实战:使用 Observable 在线绘制 D3 条形图
前端·javascript·信息可视化·数据可视化·d3.js·observable
FUXI_Willard2 天前
MATLAB绘图基础9:多变量图形绘制
开发语言·matlab·信息可视化·数据可视化·matlab绘图
bin91532 天前
【EXCEL数据处理】000014 案例 EXCEL分类汇总、定位和创建组。附多个操作案例。
信息可视化·数据挖掘·数据分析·excel·数据可视化·数据图表·excel 数据分析
bin91532 天前
【EXCEL数据处理】000011 案列 EXCEL带有三角形图标的单元格转换,和文本日期格式转换。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
强heaven2 天前
【Streamlit案例】制作销售数据可视化看板
python·信息可视化
安冬的码畜日常2 天前
【D3.js in Action 3 精译_025】3.4 让 D3 数据适应屏幕(中)—— 线性比例尺的用法
前端·javascript·信息可视化·数据可视化·d3.js·d3比例尺·javascript可视化
GIS数据转换器2 天前
城市大脑:智慧城市的神经中枢——典型实践与经验启示
大数据·人工智能·科技·信息可视化·gis·智慧城市