文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python绘制散点图之可视化神器pyecharts

2024-04-02 19:55

关注

散点图

什么是散点图?

散点图是指在数理统计回归分析中,数据点在直角坐标系平面上的分布图, 散点图​​表示因变量随自变量而变化的大致趋势,由此趋势可以选择合适的函数进行经验分布的拟合,进而找到变量之间的函数关系。

散点图有什么用处?

散点图的基本构成要素

散点图主要的构成元素有:数据源,横纵坐标轴,变量名,研究的对象。而基本的要素就是点,也就是我们统计的数据,由这些点的分布我们才能观察出变量之间的关系。

而散点图一般研究的是两个变量之间的关系,往往满足不了我们日常的需求。因此,气泡图的诞生就是为散点图增加变量,提供更加丰富的信息,点的大小或者颜色可以定义为第三个变量,因为,做出来的散点图类似气泡,也由此得名为气泡图。

散点图模板系列

简单散点图

数据越多散点图呈现的效果就越明显。这也就是我们平时在进行建模的时候,采用回归拟合的原则,如果数据是遵循某种函数关系,我们可以通过机器进行训练,不断的迭代达到最优效果。

import pyecharts.options as opts
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]

(
Scatter(init_opts=opts.InitOpts(width="1200px", height="600px"))
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name="",
y_axis=y_data,
symbol_size=20,
label_opts=opts.LabelOpts(is_show=False),
)
.set_series_opts()
.set_global_opts(
xaxis_opts=opts.AxisOpts(
type_="value", splitline_opts=opts.SplitLineOpts(is_show=True)
),
yaxis_opts=opts.AxisOpts(
type_="value",
axistick_opts=opts.AxisTickOpts(is_show=True),
splitline_opts=opts.SplitLineOpts(is_show=True),
),
tooltip_opts=opts.TooltipOpts(is_show=False),
)
.render("简单散点图.html")
)

多维数据散点图

我们在平时的运用场景中,发现散点图太多呈现的效果图太密集了,我们只需要知道某一个区域它分布的数量,本来柱状图可以解决,但是这个散点图一个更好,可以反映区域的分布,主要可以看见它的数量趋势变化,根据自己的业务需求来使用吧。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker

c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis(
"类别1",
[list(z) for z in zip(Faker.values(), Faker.choose())],
label_opts=opts.LabelOpts(
formatter=JsCode(
"function(params){return params.value[1] +' : '+ params.value[2];}"
)
),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="多维度数据"),
tooltip_opts=opts.TooltipOpts(
formatter=JsCode(
"function (params) {return params.name + ' : ' + params.value[2];}"
)
),
visualmap_opts=opts.VisualMapOpts(
type_="color", max_=150, min_=20, dimension=1
),
)
.render("多维数据散点图.html")
)
print([list(z) for z in zip(Faker.values(), Faker.choose())])

散点图显示分割线

显示分割线,其实和之前的没有异样。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis("A", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="标题"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
)
.render("分割线.html")
)

散点图凸出大小(二维)

用二维的数据来展示每个类别的分布状况,图表可显示多个类别,这样极大的增强了我们解释的效果。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
c = (
Scatter()
.add_xaxis(Faker.choose())
.add_yaxis("1", Faker.values())
.add_yaxis("2", Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="标题"),
visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),
)
.render("凸出大小散点图.html")
)

 3D散点图展示

动态涟漪散点图

之前的散点都是静态的,下面我们来看看动态的散点图;

from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker
c = (
EffectScatter()
.add_xaxis(Faker.choose())
.add_yaxis("", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="散点图"))
.render("动态散点图.html")
)

箭头标志散点图

from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker
from pyecharts.globals import SymbolType

c = (
EffectScatter()
.add_xaxis(Faker.choose())
.add_yaxis("", Faker.values(), symbol=SymbolType.ARROW)
.set_global_opts(title_opts=opts.TitleOpts(title="标题"))
.render("箭头动态散点图.html")
)

到此这篇关于Python绘制散点图之可视化神器pyecharts的文章就介绍到这了,更多相关Python绘制散点图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯