Python+Pyecharts实现散点图的绘制

 更新时间:2022年06月20日 14:14:04   作者:数据程序设计  
散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。本文将利用Python Pyecharts实现散点图的绘制,需要的可以参考一下

第1关:Scatter:散点图(一)

编程要求

根据以上介绍,在右侧编辑器补充代码,绘制给定数据的散点图,要求:

  • 画布大小初始化为宽 1600 像素,高 1000 像素
  • X 轴数据设置为 x_data
  • 添加 Y 轴数据。系列名称设置为空,数据使用 y_data,标记的大小设置为20,不显示标签
  • X 轴类型设置为数值轴,并显示分割线
  • Y 轴类型设置为数值轴,并显示分割线以及坐标轴刻度
  • 不显示提示框

代码

from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
 
from pyecharts.charts import Scatter
 
 
data = [
    [10.0, 8.04],
    [8.0, 6.95],
    [13.0, 7.58],
    [9.0, 8.81],
    [11.0, 8.33],
    [14.0, 9.96],
    [6.0, 7.24],
    [4.0, 4.26],
    [12.0, 10.84],
    [7.0, 4.82],
    [5.0, 5.68],
]
data.sort(key=lambda x: x[0])
x_data = [d[0] for d in data]
y_data = [d[1] for d in data]
 
 
def scatter_chart() -> Scatter:
    # ********* Begin *********#  
    scatter = (
        Scatter(init_opts=opts.InitOpts(width="1600px", height="1000px"))
        .add_xaxis(x_data)
        .add_yaxis("",
            y_data,
            symbol_size=20
            )
        .set_series_opts(
            label_opts=opts.LabelOpts(is_show=False)
            )
        .set_global_opts(
            tooltip_opts=opts.TooltipOpts(is_show=False),
            xaxis_opts=opts.AxisOpts(
                type_="value",
                splitline_opts=opts.SplitLineOpts(is_show=True)
            ),
            yaxis_opts=opts.AxisOpts(
                type_="value",
                splitline_opts=opts.SplitLineOpts(is_show=True),
                axistick_opts=opts.AxisTickOpts(is_show=True)
            )
        )
    )
    # ********** End **********#
    return scatter
 
make_snapshot(snapshot, scatter_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 输出图片
make_snapshot(snapshot, scatter_base(x_data, y_data).render(), "StandardAnswer/task1/standard_answer_1.png")

测试说明

平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:

第2关:Scatter:散点图(二)

编程要求

根据以上介绍,在右侧编辑器补充代码,利用给定数据绘制相应的散点图,要求:

  • X 轴数据项使用data_x
  • 添加两组 Y 轴数据。
  • 第一组系列名称设置为“商家A”,数据使用data_y_1
  • 第二组系列名称设置为“商家B”,数据使用data_y_2
  • 将标题设置为“Scatter-VisualMap(Size)”
  • 视觉映射过渡类型选择“size”,最大值设为 150,最小值设置为 20

代码

from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
 
from pyecharts.charts import Scatter
 
from pyecharts.faker import Faker
 
 
data_x = Faker.choose()
 
data_y_1 = Faker.values()
 
data_y_2 = Faker.values()
 
 
def scatter_chart() -> Scatter:
    # ********* Begin *********#  
    scatter = (
        Scatter()
        .add_xaxis(data_x)
        .add_yaxis("商家A",data_y_1)
        .add_yaxis("商家B",data_y_2)
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Scatter-VisualMap(Size)"),
            visualmap_opts=opts.VisualMapOpts(is_show=True,type_='size',min_=20,max_=150)
        )
    )
 
    # ********** End **********#
    return scatter
 
make_snapshot(snapshot, scatter_chart().render("Result/render.html"), "StudentAnswer/student_answer.png") # 输出图片
make_snapshot(snapshot, scatter_visual(data_x, data_y_1, data_y_2).render(), "StandardAnswer/task2/standard_answer_2.png")

测试说明

平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:

第3关:Scatter:散点图(三)

编程要求

根据以上介绍,在右侧编辑器补充代码,利用给定数据绘制相应的散点图,要求:

  • X 轴数据项使用data_x
  • Y 轴数据项使用data_y,系列名称设置为“商家A”,并用 JsCode 格式化标签(具体格式见文末)
  • 标题设置为“Scatter-多维度数据”
  • 用 JsCode 格式化提示框文本(详见文末)
  • 视觉映射类型设置为颜色,最大值设置为 150,最小值设置为 20,组件映射维度为 1

代码

from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
 
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
from pyecharts.commons.utils import JsCode
 
data_x = Faker.choose()
 
data_y = [list(z) for z in zip(Faker.values(), Faker.choose())]
 
 
def scatter_chart() -> Scatter:
    # ********* Begin *********#  
    scatter = (
        Scatter()
        .add_xaxis(data_x)
        .add_yaxis(
            "商家A",
            data_y,
            label_opts=opts.LabelOpts(
                formatter=JsCode("""function(params){return params.value[1] +' : '+ params.value[2];}""")
            )
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Scatter-多维度数据"),
            visualmap_opts=opts.VisualMapOpts(is_show=True,type_='color',min_=20,max_=150,dimension=1),
            tooltip_opts=opts.TooltipOpts(
                formatter=JsCode("""function (params) {return params.name + ' : ' + params.value[2];}""")
            )
        )
 
    )
 
    # ********** End **********#
    return scatter
 
make_snapshot(snapshot, scatter_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 输出图片
make_snapshot(snapshot, scatter_multi(data_x, data_y).render(), "StandardAnswer/task3/standard_answer_3.png")

测试说明

平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:

以上就是Python+Pyecharts实现散点图的绘制的详细内容,更多关于Python Pyecharts散点图的资料请关注脚本之家其它相关文章!

相关文章

  • Python cookbook(数据结构与算法)将序列分解为单独变量的方法

    Python cookbook(数据结构与算法)将序列分解为单独变量的方法

    这篇文章主要介绍了Python cookbook(数据结构与算法)将序列分解为单独变量的方法,结合实例形式分析了Python序列赋值实现的分解成单独变量功能相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • PyQt5+requests实现车票查询工具

    PyQt5+requests实现车票查询工具

    这篇文章主要为大家详细介绍了PyQt5+requests实现车票查询工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • python 动态规划问题解析(背包问题和最长公共子串)

    python 动态规划问题解析(背包问题和最长公共子串)

    这篇文章主要介绍了python 动态规划(背包问题和最长公共子串),在动态规划中,你要将某个指标最大化。在这个例子中,你要找出两个单词的最长公共子串。fish和fosh都包含的最长子串是什么呢,感兴趣的朋友跟随小编一起看看吧
    2022-05-05
  • python的多元数据类型(下)

    python的多元数据类型(下)

    这篇文章主要为大家详细介绍了python的多元数据类型,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Python调用REST API接口的几种方式汇总

    Python调用REST API接口的几种方式汇总

    这篇文章主要介绍了Python调用REST API接口的几种方式汇总,帮助大家更好的利用python进行自动化运维,感兴趣的朋友可以了解下
    2020-10-10
  • python numpy 矩阵堆叠实例

    python numpy 矩阵堆叠实例

    今天小编就为大家分享一篇python numpy 矩阵堆叠实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • PyQt5的QWebEngineView使用示例

    PyQt5的QWebEngineView使用示例

    这篇文章主要介绍了PyQt5的QWebEngineView使用示例,帮助大家更好的学习和使用python,感兴趣的朋友可以了解下
    2020-10-10
  • 利用Python抢回在蚂蚁森林逝去的能量(实现代码)

    利用Python抢回在蚂蚁森林逝去的能量(实现代码)

    蚂蚁森林是一项旨在带动公众低碳减排的公益项目,每个人的低碳行为在蚂蚁森林里可计为"绿色能量",很多小伙伴都玩过,今天小编给大家分享一篇教程关于Python抢回在蚂蚁森林逝去的能量,感兴趣的朋友跟随小编一起看看吧
    2022-03-03
  • Python3按一定数据位数格式处理bin文件的方法

    Python3按一定数据位数格式处理bin文件的方法

    今天小编就为大家分享一篇Python3按一定数据位数格式处理bin文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 一文带你学会如何利用Python实现一个三维绘图系统

    一文带你学会如何利用Python实现一个三维绘图系统

    tkinter是Python标准库中自带的GUI工具,使用十分方便,所以本文旨在带大家学会如何将matplotlib嵌入到tkinter中并绘制三维绘图系统,感兴趣的可以了解下
    2023-09-09

最新评论