在数学模式下将变量写为下标

2023-12-27

我正在尝试绘制一些数据,使用 for 循环来绘制分布。现在我想根据循环计数器将这些分布标记为数学符号中的下标。这就是我现在的处境。

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab

mean = [10,12,16,22,25]
variance = [3,6,8,10,12]
x = np.linspace(0,40,1000)
for i in range(4):
    sigma = np.sqrt(variance[i])
    y = mlab.normpdf(x,mean[i],sigma)
    plt.plot(x,y,label=$v_i$) # where i is the variable i want to use to label. I should also be able to use elements from an array, say array[i] for the same.
    plt.xlabel("X")
    plt.ylabel("P(X)")
plt.legend()
plt.axvline(x=15, ymin=0, ymax=1,ls='--',c='black')    
plt.show()

这不起作用,而且我无法将变量保留在数学符号的 $ $ 符号之间,因为它被解释为文本。有没有办法将变量放在 $$ 符号中?


原始问题已被编辑,此答案已更新以反映这一点。

当尝试在 matplotlib 中使用 LaTeX 格式时,您必须使用原始字符串,表示为r"".

下面给出的代码将迭代range(4)并使用绘图i'th均值和方差(正如您最初所做的那样)。它还将设置label对于每个图使用label=r'$v_{}$'.format(i+1). This 字符串格式化 https://docs.python.org/3.4/library/functions.html#format只需替换{}与里面所谓的任何东西format, 在这种情况下i+1。通过这种方式,您可以自动化绘图的标签。

我已经删除了plt.axvline(...), plt.xlabel(...) and plt.ylabel(...)出于for循环,因为您只需要调用它一次。我也删除了plt.legend()来自for出于同样的原因循环并删除了它的参数。如果您提供关键字参数label to plt.plot()然后您可以在绘制图时单独标记它们。

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab

mean = [10,12,16,22,25]
variance = [3,6,8,10,12]

x = np.linspace(0,40,1000)

for i in range(4):
    sigma = np.sqrt(variance[i])
    y = mlab.normpdf(x,mean[i],sigma)
    plt.plot(x,y, label=r'$v_{}$'.format(i+1))

plt.xlabel("X")
plt.ylabel("P(X)")        
plt.axvline(x=15, ymin=0, ymax=1,ls='--',c='black')

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

在数学模式下将变量写为下标 的相关文章

随机推荐

  • Visual Studio:我可以复制项目的属性以在另一个项目中使用吗?

    我添加了几个目录 库 例如 matlab opencv 等 来编译 Visual Studio 项目中当前的 C 文件 我即将进行的所有项目都需要相同的设置 属性 我是否需要单独设置每个项目的属性 或者我可以做一些事情将其应用到所有项目 尝
  • 检测音量按钮按下并释放 iOS [重复]

    这个问题在这里已经有答案了 可能的重复 程序访问 iPhone 音量按钮 https stackoverflow com questions 772832 program access to iphone volume buttons 是否
  • 如何合并单个数据框中具有相同索引的行?

    我有一个如下所示的数据框 A B C 1 1234 Win 1 2345 Win 2 1987 Loss 3 3456 Win 3 4567 Win 我希望这成为 A B C 1 1234 2345 Win 2 1987 Loss 3 34
  • 路由到子路由模块,无需延迟加载

    我想要多个routing模块 以保持我的应用程序干净且易于阅读 我目前使用延迟加载SubComponent但我不想这样做 所以我正在寻找一种方法来改变这种情况 无论如何 这是当前正在工作的代码 我有以下两个路由文件 app routing
  • C 中的函数模拟?

    我正在编写一个单元测试来检查一些 API 调用 我正在使用检查来测试 我的模块是使用 CMake 构建的 如果重要的话 我不知道 我的测试调用一个函数 我需要测试 并且该函数调用另一个二进制文件 它的简化版本看起来像这样 unitTest
  • jQuery isFunction 检查错误“函数未定义”

    我想在尝试运行函数之前检查它是否存在 这是我的代码 if isFunction myfunc console log function exist run it 但是 当该功能不可用时 我收到错误 myfunc 未定义 我该如何进行检测 这
  • egit 中被拒绝的非快进问题

    我已经从分支 2 0 结帐了 现在我对其中一个文件进行了更改 我想将其提交到分支 即 2 0 分支 所以我右键单击文件 选择团队 gt 提交选项 我要求我选择分支 所以我选择了 2 0 和存储库 url 当我点击时 commit push
  • conda 错误:无法导入 zstandard

    我的 Conda 在 Ubuntu 18 04 上 出现以下错误消息 但所有功能都运行正常 home td7920 miniconda3 lib python3 8 site packages conda package streaming
  • App Engine 端点 API - 具有自定义域的 404

    我正在尝试将自定义域与应用程序引擎一起使用 本地主机一切正常并且应用程序点网址 https conference center 1177 appspot com 但与自定义域 https cc mdsarowar me 端点 API 不起作
  • Cakephp 翻译行为的默认行为不起作用

    谁能告诉我为什么当字段没有翻译时它会返回空 而不是默认翻译 我会感激所有的建议 不知道你想看我的代码的哪一部分 因为它都是直接来自 www book cake org 的 所以我粘贴一些代码 型号定义
  • 在 Linux 上安装 NPM

    我的目的是安装 angularjs 为此 我需要 gt npm 所以我想安装nodejs以获得 NPM 但我有这个错误 File configure line 16 in
  • Eclipse 上使用 Dataflow Runner 的 Apache Beam MinimalWordcount 示例

    我正在尝试在 Windows 上使用 Eclipse 中的 DataFlowRunner 运行 MinimalWordCount 示例 使用 MinimalWordCount gt 在 Eclipse 中运行作为 Java 应用程序 它与使
  • 使用 xclip 后 Tmux 中的键盘快捷键被停用

    我在 tmux conf 中使用以下配置从 xclip 来回复制文本 bind C c run tmux save buffer xclip i sel clipboard bind C v run tmux set buffer xcli
  • 消息控制器中未定义的方法“stringify_keys”

    当我尝试提交表单时 出现以下错误 当 1 个用户想要向另一个用户发送消息时 该表单就会显示 NoMethodError in MessagesController create undefined method stringify keys
  • 如何删除 Firestore 文档中的字段?

    如何删除 Cloud Firestore 中的文档字段 我正在使用下面的代码 但我不能 this db doc ProfileUser userId followersCount FollowersCount update currentU
  • 在 Web 上正确使用 SVG

    我想知道在 HTML 文档上使用 SVG 的最佳方法是什么 我读过一篇文章说 使用 SVG 图标比图标字体更好 即 fontawesome 等 以获得更好的性能并减少 HTTP 网络 调用 并提高搜索引擎优化 我知道如何使用 包含 SVG
  • 如何使用domains.google.com 验证我的自定义域

    如何使用验证我的自定义域domains google com如果 它不允许重复的密钥 并且 firebase 托管需要重复的密钥条目 并且 firebase 需要具有相同主机的 2 个文本条目 Google Domains 中的 DNS 记
  • UIPageControl 中的问题

    pageControl UIPageControl alloc initWithFrame CGRectMake 153 356 38 36 pageControl userInteractionEnabled YES pageContro
  • Google Maps SDK 中的自定义注释视图

    我创建了一个基于地图的 iOS 应用程序 其中我想使用 iOS 版 Google Maps SDK 而不是 Mapkit 我找到了文档 但没有找到与自定义注释视图相关的方法 任何人都可以为我提供解决方案创建自定义注释视图 信息窗口 以及如何
  • 在数学模式下将变量写为下标

    我正在尝试绘制一些数据 使用 for 循环来绘制分布 现在我想根据循环计数器将这些分布标记为数学符号中的下标 这就是我现在的处境 import matplotlib pyplot as plt import numpy as np impo