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


Posted in Python onJuly 07, 2022

散点图

什么是散点图?

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

散点图有什么用处?

  • 1、数据用图表来展示,显然比较直观,在工作汇报等场合能起到事半功倍的效果,让听者更容易接受,理解你所处理的数据。
  • 2、散点图更偏向于研究型图表,能让我们发现变量之间隐藏的关系为我们决策作出重要的引导作用。
  • 3、散点图核心的价值在于发现变量之间的关系,千万不要简单地将这个关系理解为线性回归关系。变量间的关系有很多,如线性关系、指数关系、对数关系等等,当然,没有关系也是一种重要的关系。
  • 4、散点图经过回归分析之后,可以对相关对象进行预测分析,进而做出科学的决策,而不是模棱两可。比如说:医学里的白细胞散点图可以在医学检测方面为我们健康提供精确的分析,为医生后续的判断做出重要的技术支持。

散点图的基本构成要素

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

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

散点图模板系列

简单散点图

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

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

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

多维数据散点图

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

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())])

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

散点图显示分割线

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

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

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

散点图凸出大小(二维)

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

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

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

 3D散点图展示

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

动态涟漪散点图

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

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

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

箭头标志散点图

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绘制散点图之可视化神器pyecharts的文章就介绍到这了,更多相关Python绘制散点图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Python 相关文章推荐
Python中条件选择和循环语句使用方法介绍
Mar 13 Python
Python中常用操作字符串的函数与方法总结
Feb 04 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
Python语言检测模块langid和langdetect的使用实例
Feb 19 Python
python取余运算符知识点详解
Jun 27 Python
python数据化运营的重要意义
Nov 25 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
Matplotlib使用Cursor实现UI定位的示例代码
Mar 12 Python
Python进行统计建模
Aug 10 Python
Python用K-means聚类算法进行客户分群的实现
Aug 23 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 #Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 #Python
Django数据库(SQlite)基本入门使用教程
Jul 07 #Python
Python可视化神器pyecharts之绘制地理图表练习
Django中celery的使用项目实例
Python可视化神器pyecharts绘制地理图表
Python软件包安装的三种常见方法
You might like
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
PHP编程开发怎么提高编程效率 提高PHP编程技术
2015/11/09 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
JavaScript实现无限轮播效果
2020/11/19 Javascript
Python实现图片滑动式验证识别方法
2017/11/09 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
Django使用rest_framework写出API
2020/05/21 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
工程地质勘察专业大学生求职信
2013/10/13 职场文书
简单而又朴实的个人求职信分享
2013/12/12 职场文书
年度评优评先方案
2014/06/03 职场文书
简短清晨问候语
2015/11/10 职场文书
《画家和牧童》教学反思
2016/02/17 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技