相关疑难解决方法(0)

将 matplotlib 图形嵌入到较大的图形中

我正在编写一堆脚本和函数来处理天文数据。我有一组星系,我想在 3 面板图中绘制它们的一些不同属性。我这里有一个布局示例:

在此输入图像描述

现在,这不是问题。但有时,我想只为单个星系创建这个图。在其他情况下,我想制作一个由子图组成的更大的图,每个子图都由三+窗格结构组成,就像这个模型一样:

在此输入图像描述

为了代码的模块化和可重用性,我想做一些事情,让我的函数返回一个matplotlib.figure.Figure对象,然后让调用者(函数或交互式会话)决定是否要show()savefig对象或将其嵌入到更大的数字。但我似乎无法在文档或其他地方找到任何这方面的提示,这似乎不是人们经常做的事情。

关于最好的道路是什么有什么建议吗?我猜测使用是否axes_grid是解决方案,但对我来说它似乎不太干净并且与调用者无关。有什么建议么?

python matplotlib

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

我可以告诉 python 将现有图形放入新图形中吗?

创建某个图需要大量工作,因此我想通过创建一个f()返回图形的函数来自动执行此操作。

我想调用这个函数,以便我可以把结果放在一个子图中。无论如何我可以做到这一点吗?下面是一些解释我的意思的伪代码

figure_of_interest = f()

fig,ax = plt.subplots(nrows = 4,cols = 1)

ax[1].replace_with(figure_of_interest)
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

在 matplotlib.pyplot 图形中使用传递的轴对象?

我目前正在尝试使用在函数中创建的传递轴对象,例如:

def drawfig_1():
    import matplotlib.pyplot as plt

    # Create a figure with one axis (ax1)
    fig, ax1 = plt.subplots(figsize=(4,2))

    # Plot some data
    ax1.plot(range(10))

    # Return axis object
    return ax1
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何在另一个图中使用返回的轴对象 ax1?例如,我想以这种方式使用它:

# Setup plots for analysis
fig2 = plt.figure(figsize=(12, 8))

# Set up 2 axes, one for a pixel map, the other for an image
ax_map = plt.subplot2grid((3, 3), (0, 0), rowspan=3)
ax_image = plt.subplot2grid((3, 3), (0, 1), colspan=2, rowspan=3)

# Plot the image
ax_psf.imshow(image, vmin=0.00000001, vmax=0.000001, cmap=cm.gray)

# …
Run Code Online (Sandbox Code Playgroud)

python axes matplotlib

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

标签 统计

matplotlib ×3

python ×3

axes ×1