当前位置: 首页 > article >正文

10-pyecharts绘图


前言


一、pyecharts安装

pip install pyecharts

from pyecharts import options as opts   # 导入配置项
from pyecharts.charts import *       # 导入所有图表

二、使用步骤

1.柱状图

代码如下(示例):



# 数据
months = ['一月', '二月', '三月', '四月', '五月', '六月']
cost = [1200, 1500, 1800, 1400, 1600, 2000]

bar = (
    Bar()
    .add_xaxis(months)          # 添加x轴的数据
    .add_yaxis('消费金额',cost,bar_width=50)    # 添加y轴的数据,第一个参数为系列名称,不能省略
)

# 直接在jupyter里面显示 
bar.render_notebook()   # pycharm不能使用这种方式

法二:保存到本地--- 在pycharm里使用这个方法
bar.render('./cost.html')

2.散点图

代码如下(示例):



months = ['一月', '二月', '三月', '四月', '五月', '六月']
cost = [1200, 1500, 1800, 1400, 1600, 2000]

scatter = (
    Scatter()
    .add_xaxis(months)          # 添加x轴的数据
    .add_yaxis('消费金额',cost)    # 添加y轴的数据,第一个参数为系列名称,不能省略
)

# 直接在jupyter里面显示 
scatter.render_notebook() 

多组数据:



#  多组数据 
cities = ['北京', '上海', '广州', '深圳', '成都', '重庆']
temperatures = [32, 33, 30, 31, 28, 30]
humidity = [40, 50, 70, 65, 45, 55]

scatter2 = (
    Scatter()
    .add_xaxis(cities)            # 添加x轴的数据
    .add_yaxis('气温',temperatures)   # 添加y轴的数据
    .add_yaxis('温度',humidity)
)

scatter2.render_notebook()

 3.饼图

饼图里面参数需要打包为元组形式



fruits = ['苹果', '香蕉', '橙子', '草莓', '葡萄']
sales = [45, 30, 25, 20, 15]

pie =(
    Pie()
    .add(
        series_name='水果',
        data_pair = [list(z) for z in zip(fruits,sales)],   # 添加数据对
        radius =['30%','60%'],
        label_opts = opts.LabelOpts(formatter="{b}:{d}%")
    )
)
pie.render_notebook()

4.南丁格尔图 



fruits = ['苹果', '香蕉', '橙子', '草莓', '葡萄']
sales = [45, 30, 25, 20, 15]

pie =(
    Pie()
    .add(
        series_name='水果',
        data_pair = [list(z) for z in zip(fruits,sales)],   # 添加数据对
        radius =['30%','60%'],
        rosetype='radius',
        label_opts = opts.LabelOpts(formatter="{b}:{d}%")
    )
)
pie.render_notebook()

三、Geo绘制地图


import random
from pyecharts.charts import Geo
import pyecharts.options as opts



import random
from pyecharts.charts import Geo
import pyecharts.options as opts


province = [
    '广东省',
    '湖北省',
    '湖南省',
    '四川省',
    '重庆市',
    '黑龙江省',
    '浙江省',
    '山西省',
    '河北省',
    '安徽省',
    '河南省',
    '山东省',
    '西藏']
data = [(i, random.randint(50, 150)) for i in province]
print(data)
geo = (
    Geo()
    .add_schema(maptype='china')
    .add("",data)
)

geo.render_notebook()

 四、Map地图

# 区域地图
from pyecharts.faker import Faker

c = (
    Map()
    .add('商家A',[list(z) for z in zip(Faker.guangdong_city,Faker.values())],"广东")
    # 图表实例.set_global_opts(配置项名称=opts.配置项类名({配置项key:value}))
    .set_global_opts(title_opts=opts.TitleOpts(title='广东地图'),
                     visualmap_opts=opts.VisualMapOpts()   
                    )
)
c.render_notebook()

五、词云图 

words = [
    ("hey", 230),
    ("jude", 124),
    ("dont", 436),
    ("make", 255),
    ("it", 247),
    ("bad", 244),
    ("Take", 138),
    ("a sad song", 184),
    ("and", 12),
    ("make", 165),
    ("it", 247),
    ("better", 182),
    ("remember", 255),
    ("to", 150),
    ("let", 162),
    ("her", 266),
    ("into", 60),
    ("your", 82),
    ("heart", 173),
    ("then", 365),
    ("you", 360),
    ("can", 282),
    ("start", 273),
    ("make", 265),
]

wc = (
    WordCloud()
    .add("",words)
)

wc.render_notebook()

六、层叠图 

# 不同的图表组合 

x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data_bar = [123, 153, 89, 107, 98, 23]
y_data_line = [153, 107, 23, 89, 123, 107]

# 柱状图
bar1 = (Bar()
        .add_xaxis(x_data)
        .add_yaxis('',y_data_bar)
)
# 折线图
line1 = (Line()
         .add_xaxis(x_data)
         .add_yaxis('',y_data_line)
)
bar1.set_series_opts(zlevel=1)  # 柱状图为第一层
line1.set_series_opts(zlevel=2)  # 折线图为第二层

overlap = bar1.overlap(line1) # 层叠
overlap.render_notebook()

七、3D立体图



# 3D
data = [[1,2,3],
       [4,5,6],
        [7,8,9]
       ]
bar3d = Bar3D()
bar3d.add("",data)
bar3d.render_notebook()

 八、高级设置

ThemeType主题类型


from pyecharts.globals import ThemeType

# 数据
months = ['一月', '二月', '三月', '四月', '五月', '六月']
cost = [1200, 1500, 1800, 1400, 1600, 2000]

bar = (
    Bar(init_opts=opts.InitOpts(width='600px',height='400px',theme=ThemeType.LIGHT))
    .add_xaxis(months)          # 添加x轴的数据
    .add_yaxis('消费金额',cost,bar_width=50)    # 添加y轴的数据,第一个参数为系列名称,不能省略
)

# 直接在jupyter里面显示 
bar.render_notebook()   # pycharm不能使用这种方式


总结

模板:
全局配置项  set_global_opts 设置全局配置项
图表实例.set_global_opts(配置项名称=opts.配置项类名({配置项key:value}))

系列配置项
图表实例.set_series_opts(配置项名称=opts.配置项类名({配置项key:value}))

http://www.kler.cn/a/488120.html

相关文章:

  • 【动态规划篇】欣赏概率论与镜像法融合下,别出心裁探索解答括号序列问题
  • 【渗透测试术语总结】
  • Python基于YOLOv8和OpenCV实现车道线和车辆检测
  • 网络-ping包分析
  • 计算机网络 (23)IP层转发分组的过程
  • 计算机网络——网络层—IP数据报与分片
  • Spring bean的生命周期和扩展
  • 践行“金融为民” 平安养老险迎来理赔新篇章
  • 使用Postman实现API自动化测试
  • 【股票数据API接口02】如何获取股票历史交易数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 基于QT和C++的实时日期和时间显示
  • Vue2:el-table中的文字根据内容改变颜色
  • Spring——自动装配
  • C++笔记之`size_t`辨析
  • Untiy中如何嵌入前端页面,从而播放推流视频?
  • Colossal-AI:深度学习大规模分布式训练框架
  • 光伏风电新技术进展:迈向能源新时代
  • 如何在 Ubuntu 22.04 上安装和配置邮件服务器教程
  • 华晨宇新专辑《量变临界点》上线 开启自我觉知的音乐旅程
  • 灵活运用事务回滚,快捷处理多张数据表格
  • 14_Redis事务
  • 初学者关于对机器学习的理解
  • Go语言的循环实现
  • 基于 SpringBoot线上考试系统的设计与实现
  • java.lang.OutOfMemoryError: PermGen space报错处理
  • Autodl安装tensorflow2.10.0记录