Pyecharts快速入门及高清图片保存

一、Pyecharts官方文档

  1. Pyecharts官方文档:
    链接: https://pyecharts.org/#/zh-cn/intro
  2. pyecharts-gallery,示例:
    链接: https://gallery.pyecharts.org/#/README

二、Pyecharts图表6大配置项(全局配置项)

在这里插入图片描述
Pyecharts绘图的代码结构如下图所示:
在这里插入图片描述
代码如下:

import pyecharts.options as opts
from pyecharts.charts import Bar
 
bar = (    
    Bar( init_opts=opts.InitOpts( ) )# 实例化柱状图。初始化配置项:确定画布大小,渲染风格,
                                                                   #图表主题,图表背景颜色等。
    # ====全局配置项=====
    .set_global_opts(        
        title_opts=opts.TitleOpts(title="条形图",subtitle="副标题" ),  # 1.标题配置项          
        legend_opts=opts.LegendOpts(    ),                             # 2.图例配置项 
        #visualmap_opts=opts.VisualMapOpts(        ),                  # 3.视觉映射配置项
        datazoom_opts=opts.DataZoomOpts(         ),                    # 4.区域缩放配置项 
        tooltip_opts=opts.TooltipOpts(      ),                         # 5.提示框配置项
        toolbox_opts=opts.ToolboxOpts( is_show=True),                  # 6.工具箱配置项
        # ---- 更多配置参数请转至 官方文档 配置项->全局配置项 ----
    )
 
    # ======系列配置项======
    .set_series_opts(      
        itemstyle_opts=opts.ItemStyleOpts(border_color='black'),          # 图元样式配置项
        textstyle_opts=opts.TextStyleOpts( color='blue', font_size=14 )   # 文字样式配置项:文字颜色、大小等。
    )
    # ======X、Y轴配置项====== 
    .add_xaxis(["一季度","二季度","三季度","四季度"])      # X轴数据及配置
    .add_yaxis(series_name="商家1", y_axis=[4,7,3,9])      # Y轴数据及配置
    .add_yaxis(series_name="商家2", y_axis=[9,3,5,2])

)
#bar.render("test.html")   # 生成html文件
bar.render_notebook()      #将图表直接渲染到Jupyter Notebook中

1. 标题配置项 TitleOpts

官方文档链接: 标题配置项 TitleOpts
title=“我是标题”, 主标题
subtitle=“我是副标题”,副标题

2. 图例配置项 LegendOpts

is__show -> bool 默认True,是否显示图例。

3. 视觉映射配置项 VisualMapOpts

官方文档:链接: 视觉映射配置项
is_show -> bool,默认true, 是否显示视觉映射组件。
min_=0,指定 visualMapPiecewise 组件的最小值。
max_=50,最大值
range_text -> list 默认[‘low’,‘hight’],两端文本。
is_piecewise -> bool 默认False,是否将组件转换为分段型(默认为连续型)。
split_number -> int 默认5,分段型中分割的段数,在设置为分段型时生效。

4. 区域缩放配置项 DataZoomOpts

is_show=True,是否显示 组件。

5. 提示框配置项 TooltipOpts

官方文档:提示框配置项 TooltipOpts
is_show=True,# 是否显示提示框组件。
formatter -> str 模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等。
在 trigger 为 ‘axis’ 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。 不同图表类型下的 {a},{b},{c},{d} 含义不一样。 其中变量 {a}, {b}, {c}, {d} 在不同图表类型下代表数据含义为:
(1) 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)。
(2) 散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)。
(3) 地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无)。
(4) 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)

6. 工具箱配置项 ToolbookOpts

is_show=True 默认True,指定是否显示右侧实用工具箱

三、简单示例-柱状图

1.安装Pyecharts

在这里插入图片描述

2. 绘制柱状图

代码如下:

from pyecharts.charts import Bar
from pyecharts import options as opts  

bar=(
    Bar(init_opts=opts.InitOpts( width='800px',height='600px' ))       #画布大小    
    .add_xaxis(["A","B","C"])                                          #x轴数据
    .add_yaxis("数量",[5,20,36])                                       #y轴数据
    .set_global_opts(title_opts=opts.TitleOpts(title="示例柱状图"),)    #设置全局选项
                          
)
#bar.render("bar.html")        #图表渲染为一个HTML文件
bar.render_notebook()          #将图表直接渲染到Jupyter Notebook中

代码截图如下:
在这里插入图片描述
绘制的柱状图如下:
在这里插入图片描述

3. 高清图片保存设置、柱状图的其他参数配置

(1)高清图片保存设置

在工具箱配置项 ToolbookOpts中添加一行代码:
toolbox_opts=opts.ToolboxOpts(is_show=True, pos_top=“top”, pos_left=“right”, feature={“saveAsImage”: {“pixelRatio”:10} ,“dataZoom”:{“yAxisIndex”: “none”},“restore”: {}}) )
其中:“pixelRatio”:10,表示分辨率大小,数字越大,分辨率越高。
在这里插入图片描述
代码如下:

from pyecharts.charts import Bar
from pyecharts import options as opts  
from pyecharts.render import make_snapshot

bar=(
    Bar(init_opts=opts.InitOpts( width='800px',height='600px' ))       #1.实例化柱状图,设置画布大小
    
    .add_xaxis(["A","B","C"])     #X轴数据
    .add_yaxis("数量",[5,20,36])   #Y轴数据
    
    .set_global_opts(title_opts=opts.TitleOpts(title="示例柱状图"),            
            xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=18,color='red'),  #设置x轴标签字体
                                     axisline_opts=opts.AxisLineOpts(is_show=True),            #保留x轴边框
                                     splitline_opts=opts.SplitLineOpts(is_show=False)          #去除垂直网格线  
                                    ),   #2. x轴配置                      
            yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_family='simsun',font_size=16,font_weight='bold'),#设置y轴标签字体
                                     axisline_opts=opts.AxisLineOpts(is_show=True,      #保留y轴边框
                                                                     linestyle_opts=opts.LineStyleOpts(width=2,color='pink') ),      
                                     splitline_opts=opts.SplitLineOpts(is_show=True)     #保留水平网格线
                                    ),    #3. y轴配置                     
            legend_opts=opts.LegendOpts(textstyle_opts=opts.TextStyleOpts(font_size=20,color='green')),       #4. 图例设置 
                     
            toolbox_opts=opts.ToolboxOpts(is_show=True, pos_top="top",  pos_left="right",         #5. 工具箱配置项:设置输出高清图片
                 feature={"saveAsImage": {"pixelRatio":10} ,"dataZoom":{"yAxisIndex": "none"},"restore": {}}) )
    
    .set_series_opts(label_opts=opts.LabelOpts(font_size=20,font_family='simsun',color='blue') )               #6. 设置数据标签字体大小
                          
)
#bar.render("bar.html")
bar.render_notebook()

运行程序后,在图片的右上角点击“保存图片”,此时保存的图片是高清图片。
在这里插入图片描述

(2)柱状图的其他参数设置

柱状图的参数设置如上图代码所示;运行代码后,保存的高清柱状图如下图所示:
在这里插入图片描述

四、柱状图示例二

代码如下:

from pyecharts.charts import Bar
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType
import pyecharts.options as opts

x=["一季度","二季度","三季度","四季度"]
y1=[20,30,10,50]
y2=[10,40,30,60]
c = (
    Bar({"theme": ThemeType.MACARONS})
    .add_xaxis(x)
    .add_yaxis("商家A", y1)
    .add_yaxis("商家B", y2)
    .set_global_opts(
        title_opts={"text": "Bar-通过 dict 进行配置", "subtext": "我也是通过 dict 进行配置的"},
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=16,color='green',font_family='simsun',
                                                               font_weight='bold',rotate=45)),
        yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=14)),
        legend_opts=opts.LegendOpts(textstyle_opts=opts.TextStyleOpts(font_size=20,color='green')),   #图例                  
                     
        toolbox_opts=opts.ToolboxOpts(is_show=True, pos_top="top",  pos_left="right",
             feature={"saveAsImage": {"pixelRatio":10} ,"dataZoom":{"yAxisIndex": "none"},"restore": {}}) ) #设置输出高清图片
        
    .set_series_opts(label_opts=opts.LabelOpts(font_size=20,font_family='simsun',color='#8552a1') )    #设置数据标签字体大小    
    #.render("bar_base_dict_config.html")
)
c.render_notebook()

绘图效果如下:
在这里插入图片描述

五、地图可视化—地理图表(Geo,Map,Bmap)

官方文档: Map地图
官方示例:Map示例

1. 安装相应的地图模块

根据 pyecharts使用教程 :
自从 v0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。下面介绍如何安装。
(1)、全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图。
(2)、中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区。
(3)、中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市。
(4)、中国县区级地图: echarts-china-counties-pypkg (4.1MB):2882 个中国县·区。
(5)、中国区域地图: echarts-china-misc-pypkg (148KB):11 个中国区域地图,比如华南、华北。
安装代码如下:

pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-united-kingdom-pypkg

2.中国地图

from pyecharts.charts import Map
  
province_distribution = {'河南省': 45.23, '北京市': 37.56,  '辽宁省': 12, '广西壮族自治区': 100,"西藏自治区":50 }
provice = list(province_distribution.keys())
values = list(province_distribution.values())

map = Map()
map.add("商家", [list(z) for z in zip(province_distribution.keys(),province_distribution.values())],'china')
map.set_global_opts(title_opts=opts.TitleOpts(title="中国地图"),
                   visualmap_opts=opts.VisualMapOpts())
map.render_notebook()

在这里插入图片描述

3.广西地图

from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
city=["南宁市","北海市","百色市"]
values=[10,40,50]
c = (
    Map()
    .add("人口数", [list(z) for z in zip(city,values)], "广西")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Map-广西地图"), 
        visualmap_opts=opts.VisualMapOpts(max_=50,is_show=True),          #设置视觉映射选项,最大值为50
        
        toolbox_opts=opts.ToolboxOpts(is_show=True, pos_top="top", pos_left="right",
            feature={"saveAsImage": {"pixelRatio":10} ,"dataZoom":{"yAxisIndex": "none"},"restore": {}})  #设置保存高清图片
    )
    #.render("guangxi.html")
)
c.render_notebook()

在这里插入图片描述

4.南宁地图(辖区、县份)

import pyecharts.options as opts
from pyecharts.charts import Map

quxian = ['横县', '武鸣区','江南区']
values = [3, 5,8]
 
c=(
    Map()
    .add(
        series_name="南宁人口密度",
        maptype="南宁",
        data_pair=[list(z)for z in zip(quxian,values)],
        # name_map=quxian,
        is_map_symbol_show=False,
    )
    
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="南宁人口密度",
        ),
        tooltip_opts=opts.TooltipOpts(
            trigger="item", formatter="{b}<br/>{c} (p / km2)"
        ),
        
        visualmap_opts=opts.VisualMapOpts(
            min_=0,
            max_=10,
            range_text=["高", "低"],
            is_calculable=True,
            range_color=["lightskyblue", "yellow", "orangered"],
        ),
        
        toolbox_opts=opts.ToolboxOpts(is_show=True,
                                      pos_top="top",
                                      pos_left="right",
            feature={"saveAsImage": {"pixelRatio":10} ,"dataZoom":{"yAxisIndex": "none"},"restore": {}})  #输出高清图片
 
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    #.render("nanning.html")
)
c.render_notebook()

在这里插入图片描述

5.各省具备培养软件工程专业硕士研究生资格的高校数量

用Map地图可视化全国软件工程专业的高校数量,具体的数据如下:
在这里插入图片描述
将上表数据做成数据集:软件工程.csv

绘图代码如下:

import pandas as pd                           #pandas是强大的数据处理库
from pyecharts.charts import Map
from pyecharts import options as opts

data = pd.read_csv('软件工程.csv',encoding='gbk')
province = list(data["省份"])
gdp = list(data["数量"])
province_list = [list(z) for z in zip(province,gdp)]

c = (
    Map(init_opts=opts.InitOpts(width="1000px", height="600px"))       #可切换主题
    .set_global_opts(
        title_opts=opts.TitleOpts(title="软件工程专业院校在全国的分布"),
        visualmap_opts=opts.VisualMapOpts(
            min_=0,
            max_=20,
            range_text = ['院校数量区间:', ''],      #分区间
            is_piecewise=True,                       #定义图例为分段型,默认为连续的图例
            pos_top= "middle",                       #视觉映射组件放在中间
            pos_left="left",                         #视觉映射组件放在左边  
            orient="vertical",
            split_number=10                          #分成10个区间
        )
    )
    .add("软件工程",province_list,maptype="china")  #绘制中国地图
    #.render("软件工程.html")
)
c.render_notebook()                                 #图表渲染到jupyter中。

绘图效果如下:

在这里插入图片描述

参考资料:

  1. Python_第四篇 可视化(7)_Pyecharts参数配置
    https://blog.csdn.net/ab19920904/article/details/107184667/
  2. Python pyecharts 快速入门
    https://blog.csdn.net/m0_60495479/article/details/128690869
  3. Python基于Pyecharts 1.X的世界地图、省、市、县(区)地图、热力图和飞行航线图
    https://blog.csdn.net/zerow__/article/details/128920456
    4.详解python 利用 pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图
    https://blog.csdn.net/qq_39451578/article/details/104372597
    5.Pyecharts - 动态地图 geo()/ map() - 安装与用法详解
    https://blog.csdn.net/weixin_40683253/article/details/87859970
    6.python中国地图可视化(附带各省数据和源码)
    https://huaweicloud.csdn.net/638088dfdacf622b8df89c3e.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTQxMjIxNSwiZXhwIjoxNzE5NDY0MzQwLCJpYXQiOjE3MTg4NTk1NDAsInVzZXJuYW1lIjoiY2hlbmRlbmd5aTIifQ.dVBmyM43Wu-AD79lv5VB8MnLeLKewkWwfnmz4RGMCr0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侧耳倾听童话

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值