我正在将一些MATLAB绘图代码转换为Python / matplotlib。原始的MATLAB代码包含以下内容:
F = figure;
% ... create subplots and draw on one of them ...
F.Position = [400 80 650 10];
我正在尝试确定与分配给F.Position的matplotlib等价的内容。
MATLAB将此属性描述为表示可绘制区域的位置和大小,但matplotlib.figure.Figure似乎没有相应的属性。
matplotlib.axes.Axes似乎确实有这样的位置--实际上至少有两个位置--但我
在编写使用matplotlib的脚本时,当我运行脚本时,我会暂时获得一个交互式图形窗口,在我可以查看绘图之前,该窗口会立即消失。如果我在iPython中以交互方式执行相同的代码,图形窗口将保持打开状态。如何让matplotlib在我运行脚本时生成图形后,让它保持打开状态?
例如,我可以保存此图,但不能使用show()显示它
from matplotlib import pyplot as plt
import scipy as sp
x = sp.arange(10)
y = sp.arange(10)
plt.plot(x,y)
plt.show()
我是一个新的python用户,但却是一个有经验的Matlab用户。我最近在调试一个python脚本,当我多次手动重新运行该脚本时,我发现matplotlib的一个有点恼人的问题:如果图形标题相同,它总是在现有图形窗口上绘制,重叠在现有图形窗口上。
我正在调试的脚本如下所示:
import matplotlib.pyplot as plt
# Some calculations here
plt.figure('Results') # The script will only create one figure
# plot the data
# End of the scrip
从IPython控制台使用spyder时,我无法获得打开新窗口的图形。我已经复制了下面我使用的命令在打开spyder后立即出现在控制台窗口中的方式。该图形显示在控制台中,而不是打开一个带有散点图的新窗口。
In [1]: import matplotlib.pyplot as plt
In [2]: plt.figure()
Out[2]: <matplotlib.figure.Figure at 0xfdac6a0><matplotlib.figure.Figure at 0xfdac6a0>
In [3]: plt.scatter([1, 2, 3, 4, 5],
我正在使用Spyder IDE,我发现matplotlib图形窗口总是显示在其他窗口后面。例如,在启动Spyder之后,如果我在控制台中输入plt.plot([0,1],[0,1]),就会在Spyder主窗口后面得到一个绘图。如何使新的图形窗口显示在所有其他窗口的顶部?
我找到了这个解决方案(),但在Spyder中它不适用于我。我遇到了fig.canvas.manager.window的麻烦。上面写的是AttributeError: 'FigureManagerMac' object has no attribute 'window'。
当在主窗口中单击一个按钮时,我希望在第二个窗口中绘制matplotlib图。使用在主窗口中绘制图形的,我编写了以下代码。matplotlib图实际上是在第二个窗口中绘制的,但它的尺寸非常小,我不知道如何根据窗口调整图形的大小。能帮我个忙吗?
from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication, QLabel, QWidget
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotli
如何删除或关闭图形?
我定义了一个绘制图形的函数。但是,每当我更改变量并关闭matplotlib窗口并绘制新图形时,先前的图形不会被删除。下面是我的程序:
def graphforcevsmass():
global velocityvalue
global radiusvalue
for i in range(101):
j = i * float(int(velocityvalue) ** 2 / int(radiusvalue))
x.append(i)
y.append(j)
plt.plot(x, y)
plt.draw()
在我的程序中,
此代码段将打开绘图窗口,并保持打开状态,直到我单击将其关闭。如何告诉Matplotlib保存图形并关闭窗口? # From https://matplotlib.org/tutorials/introductory/pyplot.html#sphx-glr-tutorials-introductory-pyplot-py
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show() # This code blocks until the plot w
我正在使用使用Python3.4的Matplotlib绘制多个图形。
当多个数字打开,我关闭窗口关闭第一个图形(即一旦所有其他数字关闭),python不会崩溃。
但是,如果我关闭了首先绘制的第一个图形,然后关闭其余的Python崩溃。
似乎您需要按这样的顺序关闭窗口,即必须最后关闭打开的第一个窗口。其他人有经验吗?有解决办法吗?
下面是一个可以用来验证的简单示例代码:
import matplotlib.pyplot as plt
plt.figure(1) # the first figure
plt.plot([1,2,3])
plt.figure(2) # a second figure
我试图在for循环中绘制一些图形(matplotlib),并在图形窗口中绘制结果。图形窗口在每次循环后更新。但是,图形窗口没有响应或为空,并且在循环终止之前不会显示任何绘图。我使用的是Spyder和Python 3.7。
有什么建议吗?
编辑:下面是一些示例代码
import numpy as np
import matplotlib.pyplot as plt
import time
x = np.linspace(0,2*np.pi,100)
for amp in range(10):
print(amp)
y = amp*np.cos(x)
plt.figure
我可以通过终端运行代码,并在图形中弹出matplotlib窗口,而不是通过Pycharm。我所得到的只是一个错误:
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework