Python+Pyecharts实现散点图的绘制

作者:数据程序设计 时间:2023-09-02 05:01:29 

第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")

测试说明

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

Python+Pyecharts实现散点图的绘制

第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")

测试说明

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

Python+Pyecharts实现散点图的绘制

第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实现散点图的绘制

来源:https://blog.csdn.net/m0_56660914/article/details/125369328

标签:Python,Pyecharts,散点图
0
投稿

猜你喜欢

  • 详解MySQL数据库千万级数据查询和存储

    2024-01-16 18:53:20
  • python能做哪方面的工作

    2023-02-01 09:48:44
  • MSSQL存储过程学习笔记一 关于存储过程

    2024-01-17 18:59:43
  • 3种适用于Python的疯狂秘密武器及原因解析

    2023-02-08 09:10:30
  • Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程

    2024-01-19 06:38:45
  • js实现酷炫倒计时动画

    2024-06-13 21:25:49
  • MySQL5.7中 performance和sys schema中的监控参数解释(推荐)

    2024-01-14 04:53:52
  • 类型为search的input及相关属性

    2009-02-11 12:49:00
  • python 哈希表实现简单python字典代码实例

    2023-12-28 06:11:32
  • 如何把图片也存到数据库中去?

    2009-11-06 13:56:00
  • Python清空文件并替换内容的实例

    2023-03-22 04:09:43
  • Python字典和列表性能之间的比较

    2022-08-08 12:49:58
  • Python3.4学习笔记之列表、数组操作示例

    2021-04-10 10:56:11
  • JavaScript实现全选取消效果

    2023-08-27 16:26:42
  • HTTP 错误 500.100 - 内部服务器错误 - ASP 错误

    2008-09-12 13:07:00
  • Python创建模块及模块导入的方法

    2023-04-21 03:42:03
  • MySQL日期数据类型、时间类型使用总结

    2024-01-27 09:46:51
  • MySQL高效模糊搜索之内置函数locate instr position find_in_set使用详解

    2024-01-27 00:03:23
  • 基于Python实现剪切板实时监控方法解析

    2023-05-31 16:01:59
  • PHP用PDO如何封装简单易用的DB类详解

    2023-11-23 16:05:39
  • asp之家 网络编程 m.aspxhome.com