Pyecharts可视化_from pyecharts.globals import currentconfig, noteb-程序员宅基地

技术标签: pandas  python  数据分析  基础扎实  

PyEcharts

所有文章不设限,我们相遇偶然,相散坦然,互不打扰,各自安好,向阳而生

pyecharts中文手册:https://pyecharts.org/#/

查看版本

import pyecharts
pyecharts.__version__
'1.9.1'

版本安装说明

在这里插入图片描述

jupyter lab使用注意事项

在这里插入图片描述

导入库

from pyecharts.globals import ThemeType, SymbolType, ChartType
import seaborn as sns
#警告
import warnings
from pylab import *
from collections import Counter
from pyecharts.commons.utils import JsCode
from pyecharts import options as opts
#散点图
from pyecharts.charts import Scatter
#日历
from pyecharts.charts import Calendar
#饼图
from pyecharts.charts import Pie
#折线
from pyecharts.charts import Line
#柱状图
from pyecharts.charts import Bar
#3D地球视图
from pyecharts.charts import Geo
#图像合并
from pyecharts.charts import Grid
#图像组合组件
from pyecharts.charts import Page
#地图
from pyecharts.charts import Map
#仪表盘
from pyecharts.charts import Gauge
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import jieba
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
mpl.rcParams['font.sans-serif'] = ['SimHei']
#忽略警告
warnings.filterwarnings("ignore")

数据读取

首先读取数据:

import pandas as pd
data = pd.read_excel('../data/xlsx/房价与工资.xlsx')

数据预览

data.head(5)
城市 省份 房屋均价 人均工资
0 北京市 北京 63239 9240
1 重庆市 重庆 10351 5962
2 广州市 广东 30894 7409
3 上海市 上海 52240 8962
4 深圳市 NaN 52456 8315

柱形图可视化

# 下面指定x轴和y轴:
x = list(data['城市'])
y1 = list(data['房屋均价'])
y2 = list(data['人均工资'])
# '''水平条形图'''
from pyecharts.charts import Bar

bar = Bar(
    # 设置主题
    init_opts=opts.InitOpts(theme=ThemeType.LIGHT),

)
bar.set_global_opts(
    # 设置标题样式
    title_opts=opts.TitleOpts(
        # 标题名称
        title='城市房屋均价,人均工资',
        # 设置标题位置
        pos_left='40%',
    ),
    # 设置图例样式
    legend_opts=opts.LegendOpts(
        # 是否显示图例
        is_show=True,
        # 设置图例位置
        pos_top='10%',
        # 设置图例形状
        legend_icon='circle'
    ),

    # 设置工具框样式
    toolbox_opts=opts.ToolboxOpts(
        # 是否显示工具框
        is_show=True,
        # 设置位置(方法一致)
        pos_left='70%',
        pos_top='20%'
    )
)
# 添加 x 轴数据
bar.add_xaxis(x)
# 添加 y 轴数据
bar.add_yaxis(
    # 设置 y1图例的名称
    series_name='房屋均价',
    # 设置 y1 数据
    y_axis=y1,
)
bar.add_yaxis('人均工资', y2)
# 加载js
bar.load_javascript()

<pyecharts.render.display.Javascript at 0x16ce7437a30>
# 显示图像
bar.render_notebook()

在这里插入图片描述

折线图可视化

x=['2022','2023','2024','2025','2026']
y=[10000,15000,20000,30000,40000]
line = Line(
      # 设置主题
    init_opts=opts.InitOpts(theme=ThemeType.LIGHT,
                           bg_color='rgba(255,250,205,0.2)'),
)
line.add_xaxis(x)
line.add_yaxis(
    # 设置 y1轴图例名称
    series_name='年预期营销额',
    # 设置 y1轴图例数据
    y_axis=y,
    # 数据标记是否显示(此处显示)
    is_symbol_show=True,
    # 标记大小
    symbol_size=15,
    # 设置线条样式
    linestyle_opts=opts.LineStyleOpts(
        # 设置线条颜色
        color='#FF6600',
        # 设置线条粗细
        width=5,
        # 设置线条透明度
        opacity=0.9
    )
)
line.load_javascript()
line.render_notebook()

在这里插入图片描述

饼图可视化

数据整合

# x 轴的标签数据
inner_x_data =['房屋租赁','店面设计','设备购置','办公用具','员工输出','营销培训','维护增值']
# y 轴的数值数据
inner_y_data =[20000,5000,5000,5000,10000,2000,5000]
# 数据压缩打包|
inner_data_pair = [list(z) for z in zip(inner_x_data, inner_y_data)]
pie = Pie(
    # 设置主题
    init_opts=opts.InitOpts(theme=ThemeType.LIGHT,
                           bg_color='rgba(255,250,205,0.2)'),
)
# 设置全局属性
pie.set_global_opts(
    # 设置标题属性
    title_opts=opts.TitleOpts(
        # 设置标题名称
        title='初期投入预算',
        # 设置标题位置
        pos_top='15%',
        # 设置标题样式
        title_textstyle_opts=opts.TextStyleOpts(
            # 颜色
            color='orange',
            # 字体大小
            font_size=25,
            # 字体样式
            font_family='楷体'
        )

    ),
      # 设置工具框样式
    toolbox_opts=opts.ToolboxOpts(
        # 是否显示工具框
        is_show=True,
        # 设置位置(方法一致)
        pos_left='70%',
        pos_top='20%'
    )
)
pie.add(
    series_name='初期投入预算',
    data_pair=inner_data_pair
)
pie.load_javascript()
pie.render_notebook()

在这里插入图片描述

上下绘制条形图和线图

# 柱状图
bar = Bar()
bar.add_xaxis(x)
bar.add_yaxis('房屋均价', y1)
bar.add_yaxis("人均工资", y2)
bar.render_notebook()
# 折线图
line = Line()
line.add_xaxis(x)
line.add_yaxis('房屋均价', y1)
line.add_yaxis('人均工资', y2)
line.render_notebook()
# 图例合并
# 调用了page组件
page = Page(layout=Page.DraggablePageLayout)
# 将上面定义好的图添加到 page
page.add(
    bar,
    line,
)
page.load_javascript()

<pyecharts.render.display.Javascript at 0x1c04d3e5bb0>
page.render_notebook()

在这里插入图片描述

条形图上叠加线图

# 柱状图
bar = Bar()
bar.add_xaxis(x)
bar.add_yaxis(
    series_name='房屋均价',
    y_axis=y1,
    # 设置柱状图标签属性(避免图像太乱)
    label_opts=opts.LabelOpts(
        # 设置柱状图标签属性隐藏
        is_show=False
    ),
)
bar.add_yaxis(
    series_name="人均工资",
    y_axis=y2,
    # 设置柱状图标签属性
    label_opts=opts.LabelOpts(
        # 设置柱状图标签属性隐藏
        is_show=False
    ),

)

# 折线图
line = Line()
line.add_xaxis(x)
line.add_yaxis(
    series_name='房屋均价',
    y_axis=y1,
    # 设置折线属性(容易识别)
    linestyle_opts=opts.LineStyleOpts(
        # 颜色
        color='#66CCFF',
        # 粗细
        width=6
    )
)
line.add_yaxis(
    series_name='人均工资',
    y_axis=y2,
    # 设置折线属性(容易识别)
    linestyle_opts=opts.LineStyleOpts(
        color='#FFCCCC',
        width=6
    )
)

bar.overlap(line)
bar.load_javascript()
<pyecharts.render.display.Javascript at 0x1c04d2dcb20>
bar.render_notebook()

在这里插入图片描述

仪表盘可视化

c = (
    Gauge()
    .add(
        "指示器",
        [("完成比率", 75.5)],
        # 设置仪表盘大小
        radius="60%",
        # 设置起始、终止刻度
        min_=0, max_=260,
        title_label_opts=opts.LabelOpts(
            font_size=20, color="black", font_family="Microsoft YaHei"  # 设置字体、颜色、大小
        ),
        axisline_opts=opts.AxisLineOpts(
            linestyle_opts=opts.LineStyleOpts(
                # 设置区间颜色、仪表宽度
                color=[(0.3, "#67e0e3"), (0.7, "#37a2da"), (1, "#fd666d")],
                # 设置仪表盘宽度
                width=25
            )
        ),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="仪 表 盘 可 视 化",
            pos_left='41%'
        ),
        legend_opts=opts.LegendOpts(
            is_show=False
        ),
    )

)
c.render_notebook()

在这里插入图片描述

地图

Pyecharts这个库,实现地图可视化的时候,地图一直加载不出来。

自从 v0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。

如用户需要用到地图图表,可自行安装对应的地图文件包。

全球国家地图: echarts-countries-pypkg:世界地图和 213 个国家,包括中国地图。
中国省级地图: echarts-china-provinces-pypkg:23 个省,5 个自治区。
中国市级地图: echarts-china-cities-pypkg:370 个中国城市
中国县区级地图:echarts-china-counties-pypkg:2882 个中国县·区
中国区域地图:echarts-china-misc-pypkg:11 个中国区域地图,比如华南、华北。
英国2016选区图: echarts-united-kingdom-pypkg:英国选区图可以用来画与政治经济相关的数据
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

全国省份地图

data = [('北京', 12.54), ('天津', 13.02), ('河北', 13.0), ('山西', 11.53), ('内蒙古', 11.48), ('辽宁', 15.43), ('吉林', 13.21), ('黑龙江', 13.03), ('上海', 15.07), ('江苏', 15.99), ('浙江', 13.89), ('安徽', 15.01), ('福建', 11.42), ('江西', 11.44), ('山东', 14.75), ('河南', 12.73), ('湖北', 13.93), ('湖南', 14.54), ('广东', 9.73), ('广西', 13.12), ('海南', 11.33), ('重庆', 17.42), ('四川', 16.3), ('贵州', 12.84), ('云南', 11.06), ('西藏', 7.67), ('陕西', 12.85), ('甘肃', 12.44), ('青海', 9.45), ('宁夏', 9.67), ('新疆', 9.66)]
city=[]
value=[]
for i in range(len(data)):
    city.append(data[i][0])
    value.append(data[i][1])
inner_data_pair = [list(z) for z in zip(city, value)]
map= Map()
map.add('',inner_data_pair,'china')
map.set_global_opts(

    title_opts=opts.TitleOpts(title="各省总体情况",
                              pos_right="center",
                              pos_top="5%"),
                              
    visualmap_opts=opts.VisualMapOpts(
        max_=18,
        min_=9
                                     )
    )
map.load_javascript()
<pyecharts.render.display.Javascript at 0x1c04d350e50>
map.render_notebook()

在这里插入图片描述

指定省份城市地图

#数据引入
from pyecharts.faker import Faker

c = (
    Map()
    .add("广东省", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], "广东")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="广东地图"), visualmap_opts=opts.VisualMapOpts()
    )
)
c.load_javascript()
<pyecharts.render.display.Javascript at 0x1c04d3fe4f0>
c.render_notebook()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YugbZu8v-1659786332428)(attachment:b0fe1fbf-0591-4c91-bcb5-34eb054510ec.png)]


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_53742691/article/details/126200124

智能推荐

http隧道 java_使用java语言实现http隧道技术-程序员宅基地

文章浏览阅读119次。该楼层疑似违规已被系统折叠隐藏此楼查看此楼/***Getaparametervalue**@paramkeyString*@paramdefString*@returnString*/publicStringgetParameter(Stringkey,Stringdef){returnisStandalone?System.getProperty(ke..._java http隧道

Keepalived高可用+邮件告警_keepalived sendmail-程序员宅基地

文章浏览阅读913次。IP主机名备注192.168.117.14keepalived-master主节点192.168.117.15keepalived-slaver备节点192.168.117.100VIP1.主备节点均安装keepalived# yum install -y keepalived httpd2.主备节点均修改keepalived日志存放路径..._keepalived sendmail

SPFILE 错误导致数据库无法启动(ORA-01565)_ora01565 ora27046-程序员宅基地

文章浏览阅读469次。--==========================================--SPFILE错误导致数据库无法启动(ORA-01565)--========================================== SPFILE错误导致数据库无法启动 SQL> startup ORA-01078: failurein proce_ora01565 ora27046

功能测试基础知识(1)-程序员宅基地

文章浏览阅读6.1k次,点赞2次,收藏54次。功能测试基础知识总结_功能测试

postgresql 中文排序_pg中文排序-程序员宅基地

文章浏览阅读3.2k次,点赞3次,收藏2次。pg 中文首字母排序_pg中文排序

[Mysql] CONVERT函数_mysql convert-程序员宅基地

文章浏览阅读3.1w次,点赞23次,收藏109次。本文主要讲解CONVERT函数_mysql convert

随便推点

HTML5与微信开发(2)-视频播放事件及API属性_微信开发者工具视频快进-程序员宅基地

文章浏览阅读8.6k次,点赞2次,收藏2次。HTML5 的视频播放事件想必大家已经期待很久了吧,在HTML4.1、4.0之前我们如果在网页上播放视频无外乎两种方法: 第一种:安装FLASH插件或者微软发布的插件 第二种:在本地安装播放器,在线播放组件之类的 因为并不是所有的浏览器都安装了FLASH插件,就算安装也不一定所有的都能安装成功。像苹果系统就是默认禁用FLASH的,安卓虽然一开始的时候支持FLASH,但是在安卓4.0以后也开始不_微信开发者工具视频快进

JedisConnectionException Connection Reset_jedisconnectionexception: java.net.socketexception-程序员宅基地

文章浏览阅读5.4k次,点赞3次,收藏4次。在使用redis的过程常见错误总结1.JedisConnectionException Connection Reset参考这边文章:Connection reset原因分析和解决方案https://blog.csdn.net/cwclw/article/details/527971311.1问题描述Exception in thread "main" redis.clients...._jedisconnectionexception: java.net.socketexception: connection reset

Lua5.3版GC机制理解_lua5.3 gc-程序员宅基地

文章浏览阅读8.3k次,点赞8次,收藏42次。目录1.Lua垃圾回收算法原理简述2.Lua垃圾回收中的三种颜色3.Lua垃圾回收详细过程4.步骤源码详解4.1新建对象阶段4.2触发条件4.3 GC函数状态机4.4标记阶段4.5清除阶段5.总结参考资料lua垃圾回收(Garbage Collect)是lua中一个比较重要的部分。由于lua源码版本变迁,目前大多数有关这个方面的文章都还是基于lua5.1版本,有一定的滞后性。因此本文通过参考当前..._lua5.3 gc

手机能打开的表白代码_能远程打开,各种手机电脑进行监控操作,最新黑科技...-程序员宅基地

文章浏览阅读511次。最近家中的潮人,老妈闲着没事干,开始学玩电脑,引起他的各种好奇心。如看看新闻,上上微信或做做其他的事情。但意料之中的是电脑上会莫名出现各种问题?不翼而飞的图标?照片又不见了?文件被删了,卡机或者黑屏,无声音了,等等问题。常常让她束手无策,求助于我,可惜在电话中说不清,往往只能苦等我回家后才能解决,那种开心乐趣一下子消失了。想想,这样也不是办法啊, 于是,我潜心寻找了两款优秀的远程控制软件。两款软件...

成功Ubuntu18.04 ROS melodic安装Cartograhper+Ceres1.13.0,以及错误总结_ros18.04 安装ca-程序员宅基地

文章浏览阅读1.8k次。二.初始化工作空间三.设置下载地址四.下载功能包此处可能会报错,请看:rosdep update遇到ERROR: error loading sources list: The read operation timed out问题_DD᭄ꦿng的博客-程序员宅基地接下来一次安装所有功能包,注意对应ROS版本 五.编译功能包isolated:单独编译各个功能包,每个功能包之间不产生依赖。编译过程时间比较长,可能需要几分钟时间。此处可能会报错:缺少absl依赖包_ros18.04 安装ca

Harbor2.2.1配置(trivy扫描器、镜像签名)_init error: db error: failed to download vulnerabi-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏7次。Haobor2.2.1配置(trivy扫描器、镜像签名)docker-compose下载https://github.com/docker/compose/releases安装cp docker-compose /usr/local/binchmod +x /usr/local/bin/docker-composeharbor下载https://github.com/goharbor/harbor/releases解压tar xf xxx.tgx配置harbor根下建立:mkd_init error: db error: failed to download vulnerability db: database download

推荐文章

热门文章

相关标签