Tyson

基本上,你需要某种密度估计。有多种方法可以做到这一点:使用某种类型的二维直方图(例如matplotlib.pyplot.hist2d或matplotlib.pyplot.hexbin)(也可以将结果显示为等高线--只需使用numpy.histogram2d,然后对结果数组进行等高线即可。)

进行核密度估计(KDE)并对结果进行轮廓化。KDE本质上是一个平滑的直方图。它不是一个点落入一个特定的垃圾箱,而是给周围的垃圾箱增加了一个权重(通常是高斯“钟形曲线”)。

使用二维直方图简单易懂,但基本上可以得到“块状”的结果。

做第二个“正确的”有一些皱纹(即没有一个正确的方法)。这里我不详细介绍,但是如果你想从统计学上解释结果,你需要阅读它(特别是带宽选择)。

无论如何,这里有一个不同的例子。我将以类似的方式绘制每一个,因此我不使用等高线,但您可以同样轻松地使用等高线图绘制二维直方图或高斯KDE:import numpy as np

import matplotlib.pyplot as plt

from scipy.stats import kde

np.random.seed(1977)

# Generate 200 correlated x,y points

data = np.random.multivariate_normal([0, 0], [[1, 0.5], [0.5, 3]], 200)

x, y = data.T

nbins = 20

fig, axes = plt.subplots(ncols=2, nrows=2, sharex=True, sharey=True)

axes[0, 0].set_title('Scatterplot')

axes[0, 0].plot(x, y, 'ko')

axes[0, 1].set_title('Hexbin plot')

axes[0, 1].hexbin(x, y, gridsize=nbins)

axes[1, 0].set_title('2D Histogram')

axes[1, 0].hist2d(x, y, bins=nbins)

# Evaluate a gaussian kde on a regular grid of nbins x nbins over data extents

k = kde.gaussian_kde(data.T)

xi, yi = np.mgrid[x.min():x.max():nbins*1j, y.min():y.max():nbins*1j]

zi = k(np.vstack([xi.flatten(), yi.flatten()]))

axes[1, 1].set_title('Gaussian KDE')

axes[1, 1].pcolormesh(xi, yi, zi.reshape(xi.shape))

fig.tight_layout()

plt.show()

有一点需要注意:由于点数太多,scipy.stats.gaussian_kde将变得非常慢。通过做一个近似值来加速它是相当容易的——只需取二维直方图,用一个半径和协方差都合适的高斯滤波器来模糊它。如果你愿意,我可以举个例子。

另一个警告:如果在非笛卡尔坐标系中执行此操作,则这些方法都不适用!得到球壳的密度估计要复杂一些。

赞踩评论- 2020年3月31日 00:19

python 在地图上的散点图-Matplotlib中的散点图等高线相关推荐

  1. python画地图经纬度_如何用python画地图上的标注线?

    我们平时看文章的时候会遇到一些不太好理解的地方,如果上面有标注那就事半功倍了.当然在地图中也是如此.之前我们学会了很多画图的技巧,但是忽略了标注这种细节的重要作用.小编经过一番学习和整理,清楚了这部分 ...

  2. python在地图上标注点_怎样用python画地图上的标注线

    怎样用python画地图上的标注线 发布时间:2020-11-16 09:52:53 来源:亿速云 阅读:90 作者:小新 小编给大家分享一下怎样用python画地图上的标注线,希望大家阅读完这篇文章 ...

  3. python地图标点_如何用python画地图上的标注线?

    我们平时看文章的时候会遇到一些不太好理解的地方,如果上面有标注那就事半功倍了.当然在地图中也是如此.之前我们学会了很多画图的技巧,但是忽略了标注这种细节的重要作用.小编经过一番学习和整理,清楚了这部分 ...

  4. python在地图上增加图层_Python Matplotlib底图在地图上叠加小图

    我正在地图上绘制一架飞机上的数据,我想在飞机上的最新数据点的坐标上插入一张飞机的这个75px×29px PNG图像. 据我所知,pyplot.imshow()是完成此操作的最佳方法.但是,我在第1步挂 ...

  5. python栅格地图上路径规划作图

    工具 spyder(python3.7)  matplotlib库 在进行路径规划仿真的时候,我们希望最后得到的结果不仅仅是一个 填满数字的数组,而是将它变为更加直观的图片 (spyder数组自带染色 ...

  6. python怎么显示汉字_mac在matplotlib中显示中文的操作方法

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 . 通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方 ...

  7. python里面返回上一步_Python中的这3个骚操作你会吗?

    本文主要介绍Python的高级特性:列表推导式.迭代器和生成器,是面试中经常会被问到的特性. 因为生成器实现了迭代器协议,可由列表推导式来生成,所有,这三个概念作为一章来介绍,是最便于大家理解的,现在 ...

  8. 用python绘制熊猫图案_在matplotlib中绘制熊猫日期

    我有一个固定宽度的数据文件,其中包含日期,但当我试图绘制数据时,日期没有正确地显示在x轴上. 我的文件看起来像2014-07-10 11:49:14.377102 45 2014-07-10 11:5 ...

  9. python在地图上画路线_python在openstreetmap地图上绘制路线图的实现

    python在openstreetmap地图上绘制路线图的实现 发布时间:2020-08-28 23:14:52 来源:脚本之家 阅读:111 作者:AAAAAAAKing 利用python进行经纬度 ...

最新文章

  1. 查看mysql字符集及修改表字符集
  2. sklearn 相关性分析_人工智能和大数据的骨架支点—— 机器学习之相关性分析
  3. 斗鱼mac html5,New API · Issue #28 · spacemeowx2/DouyuHTML5Player · GitHub
  4. C/C+语言struct深层探索
  5. 程序员绩效总结_年终总结怎么写?
  6. 数据库审计产品购买者指南
  7. 《团对-学生成绩管理-开发环境搭建过程》
  8. Python教学与学习过程中应注意的九句话
  9. neo4j merge
  10. 对 React 组件进行单元测试(unit testing)
  11. 堆排序java语言描述
  12. 数据结构课程设计:算术表达式的求值
  13. java delphi aes加密算法_谁有C#与delphi通用的AES加密算法
  14. 02-Hadoop集群搭建
  15. 将雅虎《心香一脉》每天推荐的文章发到咱邮箱(Java版)
  16. 倾角传感器的精度和线性误差的区别
  17. 14款前端常用的富文本编辑器插件
  18. 计算机科学与技术专业每年毕业人数,毕业生人数最多的10个本科专业:计算机科学与技术...
  19. php artisan 出错,使用php artisan serve命令获取错误
  20. docker实现quagga_docker和Quagga BGP

热门文章

  1. Servlet 简介
  2. 37、Django实战第37天:404以及500页面配置
  3. 【BZOJ 3747】 3747: [POI2015]Kinoman (线段树)
  4. [JSOI2008]最大数 线段树解法
  5. 2014.3.29阿里巴巴暑期实习笔试题分析
  6. MongoDb注意事项
  7. 软件开发模型之优缺点
  8. (2.4)备份与还原--WAL与备份原理
  9. C++ Primer 第三章 字符串、向量和数组
  10. css selector list