栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python Seaborn Distplot Y值对应于给定的X值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python Seaborn Distplot Y值对应于给定的X值

为了获得distplot的kde曲线上某个点的y坐标,可以使用曲线的基础数据。您可以使用折线

get_data
方法从折线图中获取数据。然后,您可以使用例如在感兴趣的点上插值数据
numpy.interp

import seaborn.apionly as snsimport numpy as np; np.random.seed(0)import matplotlib.pyplot as pltx = np.random.randn(100)ax = sns.distplot(x, hist_kws={"ec":"k"})data_x, data_y = ax.lines[0].get_data()xi = 0 # coordinate where to find the value of kde curveyi = np.interp(xi,data_x, data_y)print ("x={},y={}".format(xi, yi)) # prints x=0,y=0.3698ax.plot([0],[yi], marker="o")plt.show()

在评论中被询问如何获得此解决方案:

从问题开始。我们有一个分布图,我们想在其kde曲线的某个点上绘制一个点。

  1. 查看文档;distplot函数是否具有我们想要的参数?不幸的是没有。
  2. 函数是否返回对象?是。是曲线吗?不幸的是没有。相反,它是一个matplotlib轴。(通过找出
    type()
  3. 找出什么是matplotlib轴;阅读文档。乌夫,它很重,但是我们偶然发现了一种方法
    axes.get_lines()
    ;因为曲线应该是一条线,所以应该有所帮助。
  4. 找出这些行是什么:它们是
    Line2D
    对象。再次查看文档,我们发现有一种方法
    get_data
    。所以现在我们有了曲线的数据。大!
  5. 此时,如果我们有一个函数可以调用x值来接收相应的y值,那就更好了。现在看来,我们需要自己找到该功能。
  6. 因此,考虑
    x
    y
    曲线的数据,我们如何找到一个给定的x值的y值?由于数据是离散的,因此我们需要进行插值。寻找“ interpolate”和“ python”最终将我们带到
    numpy.interp
    。因此,这为我们提供了绘制点所需的坐标。
  7. 了解如何绘制点。那很容易。周围有很多例子。

而已。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号