pyecharts可视化——变化图

pyecharts - A Python Echarts Plotting Library built with love.作为一个国产的可视化包,博主认为它的图比matplotlib画出来的图好看很多,matplotlib更适合科研图,而pyecharts更适合商业项目等等,因为它的图真的太好看了吧!

当你要描述一个指标的变化的时候,比如说某产品交易量的变化:可以采用以下函数封装

def echarts_line(x,y,title = '主标题',subtitle = '副标题',label = '图例'):
    """
    x: 函数传入x轴标签数据   (x轴的数据包括标签数据和数值数据)
    y:函数传入y轴数据
    title:主标题
    subtitle:副标题
    label:图例
    """
    line = Line(
        init_opts=opts.InitOpts(
            bg_color='#080b30',  # 设置背景颜色
            theme='dark'         # 设置主题
            # width='980px',     # 设置图的宽度
            # height='800px'     # 设置图的高度
        )
    )
    line.add_xaxis(x)
    line.add_yaxis(
        label,
        y,
        is_symbol_show=False,  # 是否显示数据标签点
        is_smooth=True,        # 设置曲线平滑
        label_opts=opts.LabelOpts(
            is_show=False,     # 是否显示数据
        ),
        itemstyle_opts=opts.ItemStyleOpts(color='#00ca95'),  # 设置系列颜色
        # 线条粗细阴影设置
        linestyle_opts={
            "normal": {
                "color": "#4ADEDE",  #线条颜色
                "shadowColor": 'rgba(0, 0, 0, .3)', #阴影颜色和不透明度
                "shadowBlur": 2,     #阴影虚化大小
                "shadowOffsetY": 5,  #阴影y偏移量
                "shadowOffsetX": 5,  #阴影x偏移量
                "width": 6   # 线条粗细
            },
        },
        # 阴影设置
        areastyle_opts={
            "normal": {
                "color": JsCode("""new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                                offset: 0,
                                color: '#7BD5F5'
                            },
                            {
                                offset: 1,
                                color: 'rgba(0,202,149, 0)'
                            }
                        ], false)"""),  #设置底色色块渐变
                "shadowColor": 'rgba(0,202,149, 0.9)',  #设置底色阴影
                "shadowBlur": 20  #设置底色阴影大小
            }
        },
    )
    line.set_global_opts(
        # 标题设置
        title_opts=opts.TitleOpts(
            title=title, # 主标题
            subtitle=subtitle, # 副标题
            pos_left='center',  # 标题展示位置
            title_textstyle_opts=dict(color='#fff') # 设置标题字体颜色
        ),
        # 图例设置
        legend_opts=opts.LegendOpts(
            is_show=True, # 是否显示图例
            pos_left='right', # 图例显示位置
            pos_top='3%',  #图例距离顶部的距离
            orient='horizontal'  # 图例水平布局
        ),
    )
    return line.render('pyecharts-changeline.html')

先定义这一个函数,利用这个函数很方便地绘画变化图(方便重复操作),传入参数为:参考下面语句:

#先处理下数据,计算每日的买家实际支付金额总额
change = df2[['买家实际支付金额','日']].groupby('日').sum().round(2).reset_index().sort_values(by = '日')

#利用上面的封装函数
echarts_line(change['日'],change['买家实际支付金额'],title = '成交金额变化图',subtitle = "成交金额在时间维度上的变化",
            label = '成交金额')

日和买家实际支付金额分为为x和y的数据,后面的参数分别是标题、副标题、图例。

当然运行这个函数之前得在开头传入基本配置:(未必只针对此函数)

import pandas as pd
import numpy as np

# pycahrts通用模块
from pyecharts.charts import Pie,Bar,Line,Map,Map3D
from pyecharts import options as opts    
#导入pyecharts模块下的子模块options取别名为opts,使用 options 配置项,在 pyecharts 中,一切皆 Options。

import matplotlib.pyplot as plt
import warnings
import seaborn as sns
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType, ChartType
import textwrap
# 中文设置
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] 
plt.rcParams['axes.unicode_minus']=False
plt.rc('font',family = 'Microsoft YaHei',size = '15')
warnings.filterwarnings("ignore")
%matplotlib inline

参考链接:工作台 - Heywhale.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值