Python pyecharts Boxplot箱线图的实现

本篇博客只是单纯的记录一下自己学习Boxplot,没有过多的解释,官网:》》Boxplot

import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
from datetime import datetime
plt.figure(figsize=(16,10))
import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker
from pyecharts.charts import Bar
import os
from pyecharts.options.global_options import ThemeType
cnboo=pd.read_excel("c.xls")

处理数据:

cnbotypegb=cnboo.groupby(['TYPE','SHOWYEAR'])['BO'].sum().replace()
cnbotypegbrst=cnbotypegb.reset_index().replace()

filmtype=cnbotypegbrst['TYPE'].unique()

对行标签和列标签进行转置:

cnbotypegbrst.T.index
cnbopvt=cnbotypegbrst.pivot(index='TYPE',
                           columns='SHOWYEAR',
                            values='BO'
                           )

cnbopvtv2=cnbopvt.iloc[:,2:].replace()
cnbopvtv2.index
cnbopvtv2=cnbopvtv2.fillna(0).replace()

xlist=cnbopvtv2.index.tolist()

xlist一共有12个,因此循环12次:

y_data=[]
for i in range(0,12):
    y_data.append(cnbopvtv2.iloc[i].tolist())

得到的y_data数据:

[[47923.0,
  64988.0,
  0.0,
  80506.0,
  0.0,
  69628.0,
  69960.0,
  0.0,
  104853.0,
  539542.0,
  157535.0],
 [48249.0,
  160800.0,
  153735.0,
  336616.0,
  370696.0,
  263476.0,
  916503.0,
  1010848.0,
  1828313.0,
  1835840.0,
  875026.0],
 [30916.0,
  160800.0,
  86419.0,
  65659.0,
  39472.0,
  263476.0,
  201318.0,
  309825.0,
  226052.0,
  1835840.0,
  152997.0],
 [30916.0,
  160800.0,
  18648.0,
  65659.0,
  39472.0,
  263476.0,
  201318.0,
  309825.0,
  226052.0,
  1835840.0,
  152997.0],
 [53837.0,
  91838.0,
  36093.0,
  100303.0,
  58872.0,
  285139.0,
  647028.0,
  451028.0,
  765806.0,
  1063170.0,
  454325.0],
 [53837.0,
  22874.0,
  14934.0,
  100303.0,
  124699.0,
  285139.0,
  320647.0,
  430395.0,
  235246.0,
  89988.0,
  15283.0],
 [20510.0,
  22874.0,
  14934.0,
  18806.0,
  124699.0,
  41184.0,
  320647.0,
  430395.0,
  235246.0,
  89988.0,
  15283.0],
 [40329.0,
  22874.0,
  85732.0,
  36994.0,
  124699.0,
  41184.0,
  320647.0,
  430395.0,
  118754.0,
  89988.0,
  15283.0],
 [44745.0,
  22874.0,
  85732.0,
  36994.0,
  124699.0,
  41184.0,
  62967.0,
  430395.0,
  118754.0,
  89988.0,
  15283.0],
 [28092.0,
  72729.0,
  82385.0,
  182193.0,
  255790.0,
  259325.0,
  62967.0,
  160092.0,
  118754.0,
  136152.0,
  112725.0],
 [51321.0,
  213633.0,
  148063.0,
  225026.0,
  258684.0,
  563843.0,
  344841.0,
  82557.0,
  179793.0,
  139666.0,
  465533.0],
 [15524.0,
  38100.0,
  86684.0,
  225026.0,
  31579.0,
  150820.0,
  344841.0,
  82557.0,
  179793.0,
  139666.0,
  465533.0]]

最后绘制图表:

import pyecharts.options as opts
from pyecharts.charts import Grid, Boxplot, Scatter

scatter_data = [650, 620, 720, 720, 950, 970]

box_plot = Boxplot({"Theme":ThemeType.ESSOS})

box_plot = (
    box_plot.add_xaxis(xaxis_data=xlist)
    .add_yaxis(series_name="", y_axis=box_plot.prepare_data(y_data))
    .set_global_opts(
        title_opts=opts.TitleOpts(
            pos_left="center", title="2009-2019中国电影票房分类箱型图"
        ),
        tooltip_opts=opts.TooltipOpts(trigger="item", axis_pointer_type="shadow"),
        xaxis_opts=opts.AxisOpts(
            type_="category",
            boundary_gap=True,
            splitarea_opts=opts.SplitAreaOpts(is_show=False),
            axislabel_opts=opts.LabelOpts(formatter="{value}"),
            splitline_opts=opts.SplitLineOpts(is_show=False),
        ),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            name="票房(万元)",
            splitarea_opts=opts.SplitAreaOpts(
                is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
            ),
        ),
    )
    .set_series_opts(tooltip_opts=opts.TooltipOpts(formatter="{a}: {c}"))
)# {a}:系列名称,{b}:数据名称,{c}:数值数组,{d}:无

scatter = (
    Scatter()
    .add_xaxis(xaxis_data=xlist)
    .add_yaxis(series_name="", y_axis=scatter_data)
    .set_global_opts(
        title_opts=opts.TitleOpts(
            pos_left="10%",
            pos_top="90%",
            title="upper: Q3 + 1.5 * IQR \nlower: Q1 - 1.5 * IQR",
            title_textstyle_opts=opts.TextStyleOpts(
                border_color="#999", border_width=1, font_size=14
            ),
        ),
        yaxis_opts=opts.AxisOpts(
            axislabel_opts=opts.LabelOpts(is_show=False),
            axistick_opts=opts.AxisTickOpts(is_show=False),
        ),
    )
)

grid = (
    Grid(init_opts=opts.InitOpts(width="600px", height="400px"))
    .add(
        box_plot,
        grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%", pos_bottom="15%"),
    )
    .add(
        scatter,
        grid_opts=opts.GridOpts(pos_left="10%", pos_right="10%", pos_bottom="15%"),
    )
)
grid.render_notebook()

也可以直接使用下面的代码,简单的绘制一张图:

boxplot=(Boxplot()
        .add_xaxis(xlist)
        .add_yaxis("电影数据",y_data)
        )
boxplot.render_notebook()

到此这篇关于Python pyecharts Boxplot箱线图的实现的文章就介绍到这了,更多相关Python pyecharts Boxplot箱线图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python Matplotlib绘制箱线图的全过程

    目录 箱线图介绍 Matplotlib中绘制箱线图的方法:boxplot 程序举例 总结 箱线图介绍 箱线图(Box-plot)又称为盒式图或箱型图,是一种用来显示一组数据分散情况的统计图,它能显示一组数据的上界.下界.中位数.上下四分位数以及异常值等.箱线图的各部分组成及其含义如下图所示. 关键术语说明 四分位数: 四分位数:就是把一组数据按照从小到大的顺序进行排列,然后分成四等份,处于三个分割点位置的数字就是四分位数: 第一四分位数(q1):又称"较小四分位数"或"下四分

  • 基于Python matplotlib库绘制箱线图

    目录 1. 关于箱线图 及 plt.boxplot()方法 2. 绘制一幅简单的箱线图 3. 绘制一幅更精致的图像 4. 异常值的标准 5. 异常值的输出 1. 关于箱线图 及 plt.boxplot()方法 箱线图又称箱形图,有的地方也可以叫盒须图.使用箱线图的好处是可以以一种相对稳定的方式描述数据离散分布情况,识别数据中的异常值. 在pthon的matplotlib库中绘制箱线图使用的是plt.boxplot()方法. 该方法的主要参数如下 参数 描述 x 要绘制箱线图的数据 notch 是

  • Python Pyecharts绘制箱线图详解

    本篇博客只是单纯的记录一下自己学习Boxplot,没有过多的解释,官网:>>Boxplot import seaborn as sns import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签 p

  • Python使用plt.boxplot() 参数绘制箱线图

    Python 绘制箱线图主要用 matplotlib 库里 pyplot 模块里的 boxplot() 函数. plt.boxplot() 参数详解 plt.pie(x, # 指定要绘制箱线图的数据: notch=None, # 是否是凹口的形式展现箱线图,默认非凹口: sym=None, # 指定异常点的形状,默认为+号显示: vert=None, # 是否需要将箱线图垂直摆放,默认垂直摆放: whis=None, # 指定上下须与上下四分位的距离,默认为1.5倍的四分位差: position

  • Python Pandas 箱线图的实现

    各国家用户消费分布 import numpy as np import pandas as pd import matplotlib.pyplot as plt data = { 'China': [1000, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2500], 'America': [1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100], 'Britain': [1000

  • Python pyecharts Boxplot箱线图的实现

    本篇博客只是单纯的记录一下自己学习Boxplot,没有过多的解释,官网:>>Boxplot import seaborn as sns import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib inline plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 用来正常显示中文标签 p

  • echarts学习笔记之箱线图的分析与绘制详解

    一.箱线图 Box-plot 箱线图(Boxplot)也称箱须图(Box-whisker Plot),它是用一组数据中的最小值.第一四分位数.中位数.第三四分位数和最大值来反映数据分布的中心位置和散布范围,可以粗略地看出数据是否具有对称性.通过将多组数据的箱线图画在同一坐标上,则可以清晰地显示各组数据的分布差异,为发现问题.改进流程提供线索. 什么是四分位数 箱线图需要用到统计学的四分位数(Quartile)的概念,所谓四分位数,就是把组中所有数据由小到大排列并分成四等份,处于三个分割点位置的数

  • Python数据可视化:箱线图多种库画法

    概念 箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分别为数据的第25%,50%和75%的数字. 四分位间距(Interquartilerange(IQR))=上分位数(upper quartile)-下分位数(lower quartile) 箱线图分为两部分,分别是箱(box)和须(whisker).箱(box)用来表示从第一分位到第三分位的数

  • Python编程matplotlib绘图挑钻石seaborn小提琴和箱线图

    目录 箱线图 小提琴图 想不到大家都这么喜欢用python给女朋友挑钻石,所以我又写了个续. 如果看过之前一篇用python给女朋友挑钻石的文章,那么可以直接从箱线图开始读. seaborn是matplotlib的补充包,提供了一系列高颜值的figure,并且集成了多种在线数据集,通过sns.load_dataset()进行调用,可供学习,如果网络不稳定,可下载到本地,然后在调用的时候使用把cache设为True. 其中,diamonds数据集中包含了钻石数据,总计十项,分别是[重量/克拉]ca

  • Python Matplotlib绘制箱线图boxplot()函数详解

    目录 箱线图 boxplot()函数还提供了丰富的自定义选项 箱线图通常用在多组数据比较时 补充:plt.boxplot()函数绘制箱图.常用方法 实战 常用方法 总结 箱线图 箱线图一般用来展现数据的分布,如上下四分位值.中位数等,也可以直观地展示异常点.Matplotlib提供了boxplot()函数绘制箱线图. import matplotlib.pyplot as plt _ = plt.boxplot(range(10)) # 10个数,0-9 plt.show() 箱线图虽然看起来简

  • R语言箱线图创建实例讲解

    箱线图是数据集中的数据分布良好的度量. 它将数据集分成三个四分位数. 此图表表示数据集中的最小值,最大值,中值,第一四分位数和第三四分位数. 它还可用于通过绘制每个数据集的箱线图来比较数据集之间的数据分布. R语言中使用boxplot()函数来创建箱线图. 语法 在R语言中创建箱线图的基本语法是 - boxplot(x, data, notch, varwidth, names, main) 以下是所使用的参数的描述 - x是向量或公式. 数据是数据帧. notch是逻辑值. 设置为TRUE以绘

  • Python Pyecharts绘制桑基图分析用户行为路径

    目录 读取数据 生成节点数据 组织数据:定义节点和流量 数据可视化 桑基图,它的核心是对不同点之间,通过线来连接.线的粗细代表流量的大小.很多工具都能实现桑基 图,比如:Excel.tableau,我们今天要用 Pyecharts 来绘制. 因为没有用户行为路径相关的公开数据,所以本次实现可视化是根据泰坦尼克号,其生存与遇难的人的 数据,来分析流向路径.学会思路,你也可以换成自己公司的用户行为埋点数据. 读取数据 数据来源:https://www.kaggle.com/c/titanic fro

  • R语言利用ggplot2绘制QQ图和箱线图详解

    目录 绘制qq图 函数介绍 例子 绘制boxplot 函数介绍 例子 利用分位点绘制箱线图 将QQ图和箱线图进行融合 函数介绍 参数介绍 注意事项 例子 绘制qq图 在ggplot2中绘制qq图需要两步,geom_qq()将绘制样本分位点,geom_qq_line()将绘制标准正态线 函数介绍 geom_qq() geom_qq( mapping = NULL, data = NULL, geom = "point", position = "identity",

随机推荐