以透视方式绘制一系列 3D 投影的 2D 绘图

2023-12-01

我想绘制一个似然分布,基本上是NxT矩阵,其中每行代表每个时间步中某个变量的分布t (t=0...T),这样我就可以可视化最大似然估计产生的轨迹。

我想象了几个 2D 图,一个在另一个之前 - 如下所示:

please ignore the axis labels

到目前为止基于this我试过了:

def TrajectoryPlot(P):
    P=P[0:4]  
    fig = plt.figure()
    ax = fig.gca(projection='3d')
    def cc(arg):
        return colorConverter.to_rgba(arg, alpha=0.6)
    xs = np.arange(0, len(P[0]))
    verts = []
    zs = [0.0, 1.0, 2.0, 3.0, 4.0]
    for i in range(len(P)):
        print(i)
        verts.append(list(zip(xs,  P[i])))    
    poly = PolyCollection(verts, facecolors=[cc('r'), cc('g'), cc('b'),
                                             cc('y')])
    poly.set_alpha(0.7)
    ax.add_collection3d(poly, zs=zs, zdir='y')
    ax.set_xlabel('X')
    ax.set_ylabel('Likelihood')
    ax.set_zlabel('Time')
    plt.show()

但这还行不通。


The fill_between例程还返回一个PolyCollection对象,所以你可以使用fill_between并添加使用add_collection3d:

import matplotlib.pylab as pl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

x   = np.linspace(1,5,100)
y1  = np.ones(x.size)
y2  = np.ones(x.size)*2
y3  = np.ones(x.size)*3
z   = np.sin(x/2)

pl.figure()
ax = pl.subplot(projection='3d')
ax.plot(x, y1, z, color='r')
ax.plot(x, y2, z, color='g')
ax.plot(x, y3, z, color='b')

ax.add_collection3d(pl.fill_between(x, 0.95*z, 1.05*z, color='r', alpha=0.3), zs=1, zdir='y')
ax.add_collection3d(pl.fill_between(x, 0.90*z, 1.10*z, color='g', alpha=0.3), zs=2, zdir='y')
ax.add_collection3d(pl.fill_between(x, 0.85*z, 1.15*z, color='b', alpha=0.3), zs=3, zdir='y')

ax.set_xlabel('Day')
ax.set_zlabel('Resistance (%)')

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以透视方式绘制一系列 3D 投影的 2D 绘图 的相关文章

  • 在 PyCharm 中启用终端模拟

    很多人告诉过我和PyCharm 2 7 的 PyCharm 发行说明 https www jetbrains com pycharm whatsnew whatsnew 27 html吹捧那个PyCharm包括完整的终端仿真 我认为这是关于
  • 如何在嵌套列表中查找给定元素?

    这是我的迭代解决方案 def exists key arg if not arg return False else for element in arg if isinstance element list for i in elemen
  • Django CollectStatic 启动大文件上传时管道损坏

    我正在尝试使用collectstatic将静态文件上传到我的S3存储桶 但我收到一个700k javascript文件的管道损坏错误 这就是错误 Copying Users wedonia work asociados server aso
  • 并行执行按位运算的代码

    我有这段代码 通过将该 AU 矩阵的每个字节 8 个元素打包到 A 中来减少内存消耗 从而使 100k 200k 矩阵占用更少的空间 正如您所期望的 这段代码需要永远运行 我也计划将行数增加到 200k 我正在一个非常强大的实例 CPU 和
  • 如何为 PyYAML 编写代表程序?

    我想要一个自定义函数来序列化任意 python 对象 就像 json dump 函数有一个名为 default 的可选参数 如果对象不是 json 可序列化的 它应该是 json 转储器将调用的函数 我只是想从 json 包中执行相当于此操
  • 如何向 Jupyter (ipython) 笔记本自动添加扩展?

    我已经安装了扩展 calico document tools 我可以使用以下命令从 Jupyter 笔记本中加载它 javascript IPython load extensions calico document tools 如何为每个
  • 使用 SQLAlchemy 查询 Pandas DataFrame 时重命名列

    当您将数据查询到 pandas 数据帧时 有没有办法保留 SqlAlchemy 属性名称 这是我的数据库的简单映射 对于 school 表 我将数据库名称 SchoolDistrict 重命名为较短的 district 我从 DBA 中删除
  • 构建wheel失败/“错误:INCLUDE环境变量为空”

    我正在使用 Python 2 7 11 并尝试 pip install 模块 但是其中一些模块失败了 我收到的消息是 无法为 X 构建轮子 和 错误 包含环境变量为空 我尝试安装 Scrapy LXML 和 Twisted 但都失败了 我尝
  • numpy.polyval() 的反函数

    我想知道 np polyval 是否有一个方便的反函数 我在其中给出 y 值并求解 x 我知道我可以做到这一点的一种方法是 import numpy as np Set up the question p np array 1 1 10 y
  • Spacy-nightly (spacy 2.0) 问题“thinc.extra.MaxViolation 大小错误”

    显然成功安装了 spacy nightly spacy nightly 2 0 0a14 和英语模型 en core web sm 后 我在尝试运行它时仍然收到错误消息 import spacy nlp spacy load en core
  • matplotlib 后端 - 我关心吗?

    gt gt gt import matplotlib gt gt gt print matplotlib rcsetup all backends u GTK u GTKAgg u GTKCairo u MacOSX u Qt4Agg u
  • 如何使用 opencv python 根据检测到的物体的位置生成其热图

    我需要根据对象的位置生成其热图 示例 视频帧中检测到的绿色球 如果它长时间停留在某个位置 那么该位置应该是红色的 并且球在短时间内经过的帧中的位置必须是蓝色的 这样我就需要生成热图 提前致谢 那么你在这里可以做的是 1 首先定义一个热图作为
  • 用于监视文件夹和更新数据库的 Python 守护进程

    这专门用于管理 MP3 文件 但它应该可以轻松地适用于任何包含大量文件的目录结构 我想找到或编写一个守护程序 最好用Python 来监视一个包含许多子文件夹的文件夹 这些子文件夹都应该包含X个MP3文件 每当添加 更新或删除文件时 它都应该
  • print() 函数的有趣/奇怪的机制

    我正在学习Python 我目前正在学习如何定义自己的函数 并且在尝试理解返回值和打印它之间的区别时遇到了一些困难 我读到的关于这个主题的描述对我来说不太清楚 所以我开始自己尝试 我想我现在已经明白了 如果我没记错的话 区别在于你可以传递 a
  • 无法将 类型的对象转换为张量

    我正在编写一个使用 Flask 框架的客户端 python 文件 并在 docker 机器中运行它 因此 这需要一个输入文件并生成它的输出 但它会抛出无法转换为张量的错误 tf app flags DEFINE string server
  • 设置Linux使用特定版本的python进行编译

    我正在运行 Ubuntu 来编译一组需要 python 2 4 的代码 如何设置终端启动器 以便当我打开该启动器时 所有与 python 相关的命令都将使用 python 2 4 而不是 Ubuntu 中默认的 python 2 6 Set
  • 使用不带齿轮的discord.py 是否可以进行OOP?

    最近几天 我一直在尝试将用discord py 编写的discord 机器人的结构调整为更面向OOP 的结构 因为拥有现成的函数并不理想 但我发现了更多超出我预期的问题 问题是我想将所有命令封装到一个single类 但我不知道要使用什么装饰
  • 如何在 pandas 数据框中创建包含现有行字符串中的单词的新行?

    我有一个DataFrame in pandas有一个名为df strings与文本字符串 我想将这些字符串的各个单词放在自己的行上 并在其他列中使用相同的值 例如 如果我有 3 个字符串 以及一个不相关的列 时间 Strings Time
  • ModuleNotFoundError:尽管已安装,但没有名为“PyDIP”的模块

    尝试使用图像识别 我安装了带有 OpenCV 的 Python 如下本教程 https www pyimagesearch com 2018 08 15 how to install opencv 4 on ubuntu 后来 我决定尝试一
  • 通过 API 获取 YouTube 视频“重播次数最多”的数据

    有没有办法通过 API 从 YouTube 视频中提取 最多重播 又名视频活动图 数据 我指的是 YouTube Data API v3 再次不提供一项基本功能 我推荐你试试我的开源 https github com Benjamin Lo

随机推荐