小编Dem*_*mis的帖子

fig.gca()与fig.add_subplot()

大多数面向对象的matplotlib示例都会获得类似的Axis对象

import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

ax1.plot(...... etc.
Run Code Online (Sandbox Code Playgroud)

我总是发现这是不明显的,特别是从matlab的角度来看.我最近发现可以通过获得相同的结果

ax1 = fig1.gca()   # "GetCurrentAxis"
Run Code Online (Sandbox Code Playgroud)

这对我来说更有意义(可能只是由于之前的Matlab使用).为什么add_subplot()选择了令人困惑的111参数作为获取轴对象的首选方法?有什么功能差异吗?

谢谢!

matplotlib

19
推荐指数
1
解决办法
3万
查看次数

python是否有Matlab的`ans`变量来捕获未存储在任何变量中的返回值?

如果您熟悉Matlab,则会有一个全局变量ans捕获未分配给任何特定变量的函数的第一个返回值.Python中是否有任何匹配的构造?

python matlab

11
推荐指数
1
解决办法
2425
查看次数

Matplotlib:脚本等待“input()”时无法操作绘图

我试图input()在用户使用标准缩放控件操作绘图后获取用户输入。例如。用户操作绘图,计算出所需的 X 值,并将其输入到命令行提示符中。

绘图可以在单独的窗口中(Spyder/Python)或内嵌(在 Jupiter Notebook 中)。

用户输入值后,脚本继续(例如,从图中请求另一个值,或对这些值进行一些计算)。

但是,当命令行等待用户输入时,我无法让绘图实际显示并做出响应。我努力了:

  • plot()先声明,input()后声明。
  • 使用 Python 3.6 的 Spyder(我认为),来自 MacPorts 的源代码(尽我所能更新了 Spyder)
  • Spyder 通过 Python 3.7,来自 ContinuumIO 的 Anaconda 包,采用 IPython
  • Jupiter Notebook 也来自 Anaconda
  • 众多后端:macosx、qt 等。
  • 笔记本%matplotlib, notebook,等inlineqt
  • 单独的图形窗口(Spyder 和 Python)与内联图形(Jupyter Notebook)
  • fig.show( block=False )以及它的变体,例如。plt.show( block=False )
  • 两台不同的 MacBook(2017 款和 2010 款 MacBook Pro)

确实通过在和语句matplotlib.pyplot.pause(0.5)之间添加一个来实际更新绘图(以前它要么是笔记本中的空白区域,要么是空白的单独图形窗口)。这是重大进展,但是一旦脚本命中语句,我就会在图形窗口上看到一个旋转的沙滩球(防止缩放等),直到我通过输入某些内容来完成语句,然后脚本完成。那时情节是互动的。plot()input()input()input()

python 控制台似乎无法同时处理多个用户交互?IE。input()是否冻结所有其他用户交互?

我已经搜索了SO、谷歌等好几天了,但还没有弄清楚这一点!这个想法是使用它作为一种“快速而肮脏”的方式从图中获取用户输入,然后再进行理论上更复杂的任务,即直接从图中获取用户点击(这必须捕捉到绘制的数据,例如数据)光标)。

python plot user-input matplotlib python-3.x

5
推荐指数
1
解决办法
2130
查看次数

为什么形状(200000,1)的FFT与形状(200000,)的FFT不同?

我正在从商业仪器中获取光学OFDR (1,2,3 )数据FFT 。

然而,我花了几天时间困惑为什么 FFT 没有给出预期的结果。原来这是因为我导入的数组具有 shape(20000,1)而不是(20000,). 前者的 FFT(20000,1)返回不变,而具有形状的对象的 FFT(20000,)会产生正确的结果。从概念上讲,这些对我来说似乎是完全相同的数组 - 但实际上它们显然是不同的 FFT 计算。

谁能解释为什么这个看似虚构的维度破坏了我的 FFT?

# Produces bad FFT:
>> np.shape(MeasData)
: (433229, 1)

# Produces correct FFT
>> np.shape(MeasData[:,0])
: (433229,)
Run Code Online (Sandbox Code Playgroud)

第二,空维度意味着什么?也就是说,为什么形状报告为而(2000,)不是(2000)(没有逗号)?

下面是一个图,显示了其中每一个以及相应的傅立叶变换,通过numpy.rfft( MeasData ) (抱歉我不知道如何生成有用的 MWE 数据): MeasData 和 FFT 图

第一个和第二个 (MeasData = [433000,1]) 显示 FFT 根本没有执行任何操作,而第三个和第四个 (MeasData = [433000,]) 显示正确的 FFT。

[400000,1]形状与 不同有何意义[400000,]?看起来很违反直觉。

numpy fft

1
推荐指数
1
解决办法
47
查看次数

标签 统计

matplotlib ×2

python ×2

fft ×1

matlab ×1

numpy ×1

plot ×1

python-3.x ×1

user-input ×1