如何确定子图(AxesSubplot)是否为空?我想停用空子图的空轴,并删除完全空行。
例如,在此图中,仅填充了两个子图,其余的子图为空。
import matplotlib.pyplot as plt
# create figure wit 3 rows and 7 cols; don't squeeze is it one list
fig, axes = plt.subplots(3, 7, squeeze=False)
x = [1,2]
y = [3,4]
# plot stuff only in two SubAxes; other axes are empty
axe
我有一个单元测试,它测试一个函数,它创建了几个图。我不希望为这些图创建数字,所以我将matlplotlib.use('Agg')添加到单元测试和函数中。
这些是单元测试和函数的第一行两行:
import matplotlib as mpl
mpl.use('Agg')
...and我仍然收到这样的消息:
This call to matplotlib.use() has no effect
because the backend has already been chosen;
matplotlib.use() must be called *before* p
我最近发现了函数子图,这似乎是一种比子图更优雅的设置多个子图的方法。但是,我似乎无法更改每个子图的轴的属性。
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npx = np.linspace(0, 20, 100)
fig, axes = plt.subplots(nrows=2)
for i in range(10):
axes[0].plot(x, i * (x - 10)**2)
plt.ylabel('plot 1')
for i in range(
我有一个循环,它加载并绘制一些数据,如下所示:
import os
import numpy as np
import matplotlib.pyplot as plt
for filename in filenames:
plt.figure()
if os.path.exists(filename):
x, y = np.loadtxt(filename, unpack=True)
plt.plot(x, y)
plt.savefig(filename + '.png')
plt.close()
现在,如果文
我有一个tkinter画布,其中显示了标签和matplotlib图。我想更新画布的内容,因此删除前面显示的内容。为了做到这一点,我发现canvas.delete('all')是实现这个目标的方法。根据下面的代码,画布中填充了内容,然后删除。但是,不是获得一个空窗口,而是显示内容。我做错了什么?
import tkinter as tk
from matplotlib import pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
# data for plot
x1 =