ES 条形图 histogram
ES 条形图 histogram
- ES 中的聚合还有一个优点,可以很容易的转化成图表和图形,直方图
histogram
数据准备
PUT cars {"mappings": {"transactions": {"properties": {"color": {"type": "keyword"},"make": {"type": "keyword"},"price": {"type": "long"},"sold": {"type": "date"}}}} }
POST /cars/transactions/_bulk { "index": {}} { "price" : 10000, "color" : "red", "make" : "honda", "sold" : "2014-10-28" } { "index": {}} { "price" : 20000, "color" : "red", "make" : "honda", "sold" : "2014-11-05" } { "index": {}} { "price" : 30000, "color" : "green", "make" : "ford", "sold" : "2014-05-18" } { "index": {}} { "price" : 15000, "color" : "blue", "make" : "toyota", "sold" : "2014-07-02" } { "index": {}} { "price" : 12000, "color" : "green", "make" : "toyota", "sold" : "2014-08-19" } { "index": {}} { "price" : 20000, "color" : "red", "make" : "honda", "sold" : "2014-11-05" } { "index": {}} { "price" : 80000, "color" : "red", "make" : "bmw", "sold" : "2014-01-01" } { "index": {}} { "price" : 25000, "color" : "blue", "make" : "ford", "sold" : "2014-02-12" }
使用
需求:为售价创建一个直方图,可以将间隔设为 20,000,对每个区间内已售汽车的售价求和
GET /cars/transactions/_search {"size" : 0,"aggs":{"price":{"histogram":{ "field": "price","interval": 20000},"aggs":{"revenue": {"sum": { "field" : "price"}}}}} }
返回结果 "aggregations": {"price": {"buckets": [{"key": 0,"doc_count": 3,"revenue": {"value": 37000}},{"key": 20000,"doc_count": 4,"revenue": {"value": 95000}},{"key": 40000,"doc_count": 0,"revenue": {"value": 0}},{"key": 60000,"doc_count": 0,"revenue": {"value": 0}},{"key": 80000,"doc_count": 1,"revenue": {"value": 80000}}]}}
@Test public void test05(){HistogramAggregationBuilder histogramAggregationBuilder = AggregationBuilders.histogram("popular_price").field("price").interval(20000);SumAggregationBuilder sumAggregationBuilder = AggregationBuilders.sum("revenue").field("price");histogramAggregationBuilder.subAggregation(sumAggregationBuilder);SearchResponse searchResponse = elasticsearchTemplate.getClient().prepareSearch("cars").setTypes("transactions").addAggregation(histogramAggregationBuilder).execute().actionGet();InternalHistogram internalHistogram = searchResponse.getAggregations().get("popular_price");List<InternalHistogram.Bucket> buckets = internalHistogram.getBuckets();for (InternalHistogram.Bucket bucket : buckets){String keyAsString = bucket.getKeyAsString();System.out.print(keyAsString+"---");InternalSum internalSum = bucket.getAggregations().get("revenue");double value = internalSum.getValue();System.out.println(value);} }
返回结果 0.0---37000.0 20000.0---95000.0 40000.0---0.0 60000.0---0.0 80000.0---80000.0
histogram
桶要求两个参数:一个数值字段以及一个定义桶大小间隔。sum
度量嵌套在每个售价区间内,用来显示每个区间内的总收入。直方图的键值是区间的下限。键
0
代表区间0-19,999
,键20000
代表区间20,000-39,999
等等
ES 条形图 histogram相关推荐
- (六)ElasticSearch 6.1.1聚合查询
1 普通类型 1.1 基本操作 1.1.1 导入实战数据 数据字段如下: 字段 类型 作用 price long 汽车售价 color text 汽车颜色 make text 汽车品牌 sold da ...
- Elasticsearch聚合学习之二:区间聚合
本文是<Elasticsearch聚合学习>系列的第二篇,上一篇是我们熟悉了聚合的基本操作,本篇的内容是按照区间聚合的实战操作: 系列文章列表 <Elasticsearch聚合学习之 ...
- matlab hist函数_算法工匠MATLAB专训营:Matlab绘图,小试牛刀
作者 | 蔡老师 仿真秀专栏作者 首发 | 仿真秀平台 导读:正文之前,我在此详细说明一下,因为本文包含的程序太难得,网上肯定找不到这样的程序.随着讲课的越来越深入,我给出的程序会越来越实用,接近于实 ...
- 【MATLAB】MATLAB 可视化之统计图
翻译自 MATLAB 官方文档 bar:条形图 bar3 : 3D条形图 barh : 绘制水平条形图 bar3h : 水平3D条形图 histogram: 直方图 histogram2:二元直方图 ...
- python 条形图填充疏密_教你利用Python玩转histogram直方图的五种方法
直方图 直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱.大家平时可能见到最多就是 matplotlib,seaborn 等高级封装的库包,类似以下这样的绘图. 本篇博 ...
- R绘制直方图(Histogram)
R绘制直方图(Histogram) 直方图表示一个变量的值在范围内的频率.直方图类似于条形图,但不同的是它将值分组到连续的范围内.直方图中的每个条表示该范围中的数值的个数. R使用hist()函数创建 ...
- python绘制多个条形图_python – 在Matplotlib中绘制多个直方图 – 颜色或并排条形图...
问题:在Matplotlib中绘制多个直方图时,我无法区分绘图与另一个绘图 图像问题:** **次要问题:部分左侧标签"计数"不在图像范围内.为什么? 描述 我想绘制3个不同组的直 ...
- python画横条形图-用matplotlib画条形图(bar)
条形图(bar chart)和直方图(histogram)有点相似,但也有本质的区别.条形图主要用于对可分类的数据(quanlitative data),而直方图主要是对连续数据进行分段(quanti ...
- python制作动态条形图-python – 动态更新matplotlib中的条形图
我的Raspberry Pi附带了许多传感器;我使用TCP每秒两次将数据发送到我的PC.我想使用matplotlib连续绘制这些值. 我目前使用的方法似乎效率低下(我正在清理子图并每次重绘它)并且有一 ...
- 白话Elasticsearch37-深入聚合数据分析之案例实战Date Histogram Aggregation:统计每月电视销量
文章目录 概述 官方说明 实例: 统计每月电视销量,没有销量的月份也要统计 概述 继续跟中华石杉老师学习ES,第37篇 课程地址: https://www.roncoo.com/view/55 官方说 ...
最新文章
- 通过data:image/png;base64把图片直接写在src里
- 织梦 ajax 返回,Dede织梦arclist标签+Ajax实现织梦首页分页-叙述织梦
- PPT | Docker定义存储-让应用无痛运行
- python遗传算法八皇后_遗传算法之:八皇后问题
- 使用 Spring Boot 快速构建 Spring 框架应用
- 2.2.3 C语言中的整数类型及类型转换(为什么强制类型转换值发生改变?带你从机器码的角度分析)
- Android GraphicBuffer
- 如何证明CRM WebClient UI上的应用是有状态(Stateful)的
- CRISP-DM:数据挖掘标准流程
- 计算机进程调度论文,计算机操作系统小论文Linux进程调度.doc
- android平台开发的安装
- 安装kepserver找不到根证书_考完二手车评估师证书却找不到工作,面试官的话让我记忆犹新!...
- .net 本地文件管理 代码_Gitee 在线解决代码冲突上线,解决冲突不再需要 Git 命令...
- 自回归移动平均模型(ARMA)-平稳序列
- ImageIO复制图片大小改变
- 【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第16套
- 怎样使用Chrome浏览器截取整个网页?
- ”VT-x is not available (VERR_VMX_NO_VMX)“ 和 “VBoxManage: error: Details: code NS_ERROR_FAILURE”问题
- GEE——2018 年南非国家土地覆盖( 20 米分辨率多季节 Sentinel 2 卫星图像生成的)
- 一台计算机多个显示,一台计算机如何有两个显示器并显示不同的内容?
热门文章
- Android 常用的控件总结
- html调整背景页面的大小,css如何设置背景图片大小
- SmartGit同步更新本地仓库与远程仓库(origin)以及提交请求到forked过来的源仓库(upstream)
- 当win10电脑,本地网络出现了一个意外的情况,不能完成所有你在设置中所要求的更改?
- Anmle,Factors,andMultiFactorModels
- 解析2019年新零售社区团购发展方向
- GitHub又放大招,Python版本的植物大战僵尸还能作弊玩!
- 游戏开场镜头拉近(Unity3D开发之四)
- html5分镜头脚本范例,(最新整理)分镜头脚本范本
- Mono.Cecil - 0.6