pyecharts模块的几个经典案例(python经典编程案例)

简介: 文章提供了多个使用pyecharts模块创建数据可视化的Python编程案例,展示如何生成各种类型的图表并进行定制化设置。

一. pyecharts概述

pyecharts是基于ECharts图表库开发的python第三方模块。
ECharts是一个纯JavaScript的商业级图表库,兼容当前绝大部分浏览器,能够创建类型丰富,精美生动,可交互,可高度个性化定制的数据可视化效果。
安装:pip3 install pyecharts

二. 案例

2.1 图表配置项

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

x = ['连衣裙', '短裤', '运动套装', '牛仔裤', '针织衫', '半身裙', '衬衫', '阔腿裤', '打底裤']
y1 = [36, 56, 60, 78, 90, 20, 50, 70, 10]
y2 = [16, 30, 50, 90, 45, 10, 60, 54, 40]
chart = Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
chart.add_xaxis(x)
chart.add_yaxis('分店A', y1)
chart.add_yaxis('分店B', y2)
chart.set_global_opts(title_opts=opts.TitleOpts(title='产品销售额对比图', pos_left='left'),
                      yaxis_opts=opts.AxisOpts(name='销售业绩(元)', name_location='end'),
                      xaxis_opts=opts.AxisOpts(name='产品', name_location='end'),
                      tooltip_opts=opts.TooltipOpts(is_show=True, formatter='{a}<br/>{b}:{c}', background_color='black', border_width=15),
                      legend_opts=opts.LegendOpts(is_show=False),
                      toolbox_opts=opts.ToolboxOpts(is_show=True, orient='horizontal'),
                      visualmap_opts=opts.VisualMapOpts(is_show=True, type_='color', min_=0, max_=100, orient='vertical'),
                      datazoom_opts=opts.DataZoomOpts(is_show=True, type_='slider'))
chart.render('图表配置项.html')

2.2 绘制漏斗图

import pyecharts.options as opts
from pyecharts.charts import Funnel
x = ['浏览商品', '放入购物车', '生成订单', '支付订单', '完成交易']
y = [1000, 900, 400, 360, 320]
data = [i for i in zip(x, y)]
chart = Funnel()
chart.add(series_name='人数', data_pair=data, label_opts=opts.LabelOpts(is_show=True, position='inside'), tooltip_opts=opts.TooltipOpts(trigger='item', formatter='{a}:{c}'))
chart.set_global_opts(title_opts=opts.TitleOpts(title='电商网站流量转化漏斗图', pos_left='center'), legend_opts=opts.LegendOpts(is_show=False))
chart.render('漏斗图.html')

import pyecharts.options as opts
from pyecharts.charts import Funnel
x = ['浏览商品', '放入购物车', '生成订单', '支付订单', '完成交易']
y = [1000, 900, 400, 360, 320]
data = [i for i in zip(x, y)]
chart = Funnel()
chart.add(series_name='人数', data_pair=data, sort_='ascending', gap=15, label_opts=opts.LabelOpts(is_show=True, position='inside'), tooltip_opts=opts.TooltipOpts(trigger='item', formatter='{a}:{c}'))
chart.set_global_opts(title_opts=opts.TitleOpts(title='电商网站流量转化漏斗图', pos_left='center'), legend_opts=opts.LegendOpts(is_show=False))
chart.render('漏斗图.html')

2.3 绘制涟漪特效散点图

import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import EffectScatter
data = pd.read_excel('客户购买力统计表.xlsx')
x = data['年龄'].tolist()
y = data['消费金额(元)'].tolist()
chart = EffectScatter()
chart.add_xaxis(x)
chart.add_yaxis(series_name='年龄,消费金额(元)', y_axis=y,
                label_opts=opts.LabelOpts(is_show=False),
                symbol_size=15)
chart.set_global_opts(title_opts=opts.TitleOpts(title='客户购买力散点图'),
                      yaxis_opts=opts.AxisOpts(type_='value', name='消费金额(元)', name_location='middle', name_gap=40),
                      xaxis_opts=opts.AxisOpts(type_='value', name='年龄', name_location='middle', name_gap=40),
                      tooltip_opts=opts.TooltipOpts(trigger='item', formatter='{a}:{c}'))
chart.render('涟漪特效散点图.html')

2.4 绘制水球图


import pyecharts.options as opts
from pyecharts.charts import Liquid
a = 68
t = 100
chart = Liquid()
chart.add(series_name = '商品A', data = [a / t])
chart.set_global_opts(title_opts = opts.TitleOpts(title = '产品销售业绩达成率', pos_left = 'center'))
chart.render('水球图.html')

import pyecharts.options as opts
from pyecharts.charts import Liquid
a = 68
t = 100
chart = Liquid()
chart.add(series_name = '商品A', data = [a / t], shape = 'rect')
chart.set_global_opts(title_opts = opts.TitleOpts(title = '产品销售业绩达成率', pos_left = 'center'))
chart.render('水球图.html')

import pyecharts.options as opts
from pyecharts.charts import Liquid
a1 = 68
a2 = 120
a3 = 37
t = 100
chart = Liquid()
chart.set_global_opts(title_opts=opts.TitleOpts(title='产品销售业绩达成率', pos_left='center'))
chart.add(series_name='商品A', data=[a1 / t], center=['20%', '50%'])
chart.add(series_name='商品B', data=[a2 / t], center=['50%', '50%'])
chart.add(series_name='商品C', data=[a3 / t], center=['80%', '50%'])
chart.render('水球图.html')

2.5 绘制仪表盘

import pyecharts.options as opts
from pyecharts.charts import Gauge
chart = Gauge()
chart.add(series_name = '业务指标', data_pair = [('完成率', '62.25')], split_number = 10, radius = '80%', title_label_opts = opts.LabelOpts(font_size = 30, color = 'red', font_family = 'Microsoft YaHei'))
chart.set_global_opts(legend_opts = opts.LegendOpts(is_show = False), tooltip_opts = opts.TooltipOpts(is_show = True, formatter = '{a}<br/>{b}:{c}%'))
chart.render('仪表盘.html')

2.6 绘制词云图

import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import WordCloud
data = pd.read_excel('电影票房统计.xlsx')
name = data['电影名称']
value = data['总票房(亿元)']
data1 = [z for z in zip(name, value)]
chart = WordCloud()
chart.add('总票房(亿元)', data_pair = data1, word_size_range = [6, 66])
chart.set_global_opts(title_opts=opts.TitleOpts(title = '电影票房分析', title_textstyle_opts = opts.TextStyleOpts(font_size = 30)), tooltip_opts = opts.TooltipOpts(is_show = True))
chart.render('词云图.html')

import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import WordCloud
data = pd.read_excel('电影票房统计.xlsx')
name = data['电影名称']
value = data['总票房(亿元)']
data1 = [z for z in zip(name, value)]
chart = WordCloud()
chart.add('总票房(亿元)', data_pair = data1, shape = 'star', word_size_range = [6, 66])
chart.set_global_opts(title_opts=opts.TitleOpts(title = '电影票房分析', title_textstyle_opts = opts.TextStyleOpts(font_size = 30)), tooltip_opts = opts.TooltipOpts(is_show = True))
chart.render('词云图.html')

2.7 绘制K线图

import tushare as ts
data = ts.get_k_data('000005', start = '2010-01-01', end = '2020-01-01')
print(data.head())
data.to_excel('股价数据.xlsx', index = False)
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Kline
data = pd.read_excel('股价数据.xlsx')
x = list(data['date'])
open = data['open']
close = data['close']
lowest = data['low']
highest = data['high']
y = [list(z) for z in zip(open, close, lowest, highest)]
chart = Kline()
chart.add_xaxis(x)
chart.add_yaxis('股价', y)
chart.set_global_opts(xaxis_opts = opts.AxisOpts(is_scale = True),
                      yaxis_opts = opts.AxisOpts(is_scale = True,
                                                 splitarea_opts = opts.SplitAreaOpts(is_show = True,
                                                                                     areastyle_opts = opts.AreaStyleOpts(opacity = 1))),
                      datazoom_opts = [opts.DataZoomOpts(type_ = 'inside')],
                      title_opts = opts.TitleOpts(title = '股价走势图'))
chart.render('K线图.html')
相关文章
|
1天前
|
机器学习/深度学习 数据采集 数据挖掘
探索Python编程的奥秘
【10月更文挑战第7天】本文将带你走进Python的世界,探索其背后的逻辑与魅力。我们将从基础语法开始,逐步深入到函数、面向对象编程等高级特性,最后通过实际项目案例,让你体验Python的强大与便捷。无论你是编程新手,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启发。
|
2天前
|
IDE 开发工具 Python
Python 编程入门:打造你的第一个程序
【10月更文挑战第6天】编程,这个听起来高大上又充满神秘感的领域,其实就像学习骑自行车一样。一开始你可能会觉得难以掌握平衡,但一旦你学会了,就能自由地穿梭在广阔的道路上。本文将带你走进 Python 的世界,用最简单的方式让你体验编写代码的乐趣。不需要复杂的理论,我们将通过一个简单的例子——制作一个猜数字游戏,来实践学习。准备好了吗?让我们开始吧!
|
4天前
|
存储 人工智能 Java
Python编程入门:从基础到实战
【10月更文挑战第4天】本文旨在为初学者提供一个全面而深入的Python编程学习路径。我们将从Python的基本语法和概念开始,然后逐步深入到更复杂的主题,如数据结构、面向对象编程和异常处理等。最后,我们将通过一些实际的项目案例,帮助读者将理论知识应用到实践中去。无论你是编程新手,还是有一定经验的开发者,都可以在这篇文章中找到适合自己的学习内容。让我们一起开启Python编程的学习之旅吧!
|
1天前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
5 1
|
3天前
|
存储 人工智能 数据挖掘
探索Python编程:从基础到进阶
【10月更文挑战第5天】在数字时代的浪潮中,掌握编程技能已成为一项宝贵的能力。本文旨在为初学者提供一个深入浅出的Python编程之旅,从基本概念到实际应用,逐步揭示编程之美。无论你是编程新手还是希望深化理解,跟随这篇文章的脚步,你将学会如何用Python语言构建你的第一个程序,并了解代码背后的逻辑。让我们开始吧,解锁编程的秘密,开启你的技术成长之路!
|
4天前
|
数据可视化 Python
Python编程之数据可视化入门
【10月更文挑战第4天】在数字时代的洪流中,数据如同星辰般璀璨,而将它们绘制成图表,便是我们探索宇宙的方式。本文将带你启航,用Python这艘航船,驶向数据可视化的奥秘。我们将从安装必要的工具包开始,逐步深入到数据的呈现,最后通过代码示例点亮知识的灯塔,指引你在数据海洋中航行。让我们握紧舵盘,乘风破浪,揭开数据背后的故事吧!
|
3天前
|
数据采集 程序员 开发者
Python编程入门:从基础到实战
【10月更文挑战第5天】本文旨在为初学者提供一条清晰的Python学习路径,涵盖基础知识、关键概念、实战项目以及常见问题解答。我们将通过简单易懂的语言和实际代码示例,帮助读者快速掌握Python编程技能。无论你是零基础的新手还是有一定经验的开发者,都能在这篇文章中找到有价值的信息。让我们一起开启Python编程之旅吧!
|
4天前
|
开发者 Python
Python 语法糖:让编程更简单
Python 语法糖:让编程更简单
16 3
|
4天前
|
开发者 Python
Python 语法糖:让编程更简单(续)
Python 语法糖:让编程更简单(续)
13 3
|
5天前
|
人工智能 数据挖掘 程序员
Python 编程入门:打造你的第一个程序
【10月更文挑战第3天】编程,这个看似高深莫测的技能,实际上就像学骑自行车一样,一旦掌握,便能开启全新的世界。本文将带领初学者步入Python编程的殿堂,从基础语法到编写实用程序,一步步解锁编程的乐趣。