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")
测试说明
平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:
第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")
测试说明
平台会运行你编写的代码进行绘图,并与预期图片进行比对。预期效果如下:
来源:https://blog.csdn.net/m0_56660914/article/details/125369328


猜你喜欢
- 本文实例讲述了Python学习笔记之Break和Continue用法。分享给大家供大家参考,具体如下:Python 中的Break 和 Co
- 菜鸟笔记首先读取的txt文件如下:AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90AAAAF1
- 目录实现思路使用BackgroundSubtractorMOG2进行背景分割使用人像识别填充面部信息使用形态学填充分割出来的前景将人像与目标
- INI是微软Windows操作系统中的文件扩展名。这些字母表示初始化。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参
- 尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有
- JavaScript中有很多内部属性和方法,在大多数情况下,只有JavaScript引擎才可以访问,但不论什么都是有特例的,在这里就是指Mo
- 前言得益于 Vite 卓越的前端开发体验,越来越多的 Electron 项目也开始应用它来构建开发。翻阅各种社区资源可以发现很多基于 Vit
- 本文以实例形式实现了python监控linux性能以及进程消耗性能的方法,具体实现代码如下:# -*- coding: utf-8 -*-&
- 最近在学习机器学习的过程中,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行。之前的做法一直是先在本地写好代码,然后通过File
- 前言这篇文章主要介绍了Python 字符串去除空格的6种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,来
- 这篇文章主要介绍了Python多线程获取返回值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 公网与私有网络的判断其实十分简单,只要记住私有网络的三个网段。不过,对于记性不好的人或者学识不是很高的机器来说,有一种判断方法还是有必要的。
- 解决问题: 不使用for计算两组、多个矩形两两间的iou使用numpy广播的方法,在python程序中并不建议使用for语句,python中
- 本文利用python opencv进行图像的边缘检测,一般要经过如下几个步骤:1、去噪如cv2.GaussianBlur()等函数;2、计算
- sqlalchemy的常用数据类型数据类型python数据类型说明Integerint整形Stringstr字符串Floatfloat浮点型
- 下表列出了所有Python语言支持的成员运算符。 例如:试试下面的例子就明白了所有的Python编程语言提供会员运算符:#!/us
- 直接以数值固定大小根据屏幕大小固定大小禁止最大化按钮MainWindow.setWindowFlags(QtCore.Qt.WindowMi
- 基本索引In [4]: sentence = 'You are a nice girl'In [5]: L = senten
- 一、设置主窗口# -*- coding: utf-8 -*-import tkinter from tkinter import ttkim
- 核心代码# -*- coding: utf-8 -*-'''python读取英文文件,将每个单词按照空格分开,并将每