当前位置: 首页 > 知识库问答 >
问题:

Matplotlib固定地物大小和子地块位置

范稳
2023-03-14

我想问你一个关于matplotlib中的子批大小的问题。我需要创建一个固定大小的图形,由一行中的3个子地块组成。出于“编辑原因”,我需要确定图形的大小,但我也想确定子地块的大小和位置,而不影响图形大小(第三个子地块必须比前两个子地块窄)。

我尝试使用GridSpec,但没有成功。我还尝试使用“figsize”来固定图形大小,并为子地块使用add\u轴,但根据子地块的相对大小,图形和子地块的总体大小会发生变化。

使用gnuplot时,可以对子批次使用“设置原点”和“设置大小”。matplotlib中是否有类似的内容?

共有1个答案

罗奇文
2023-03-14

像这样?改变宽度比例将改变单个子图的大小。

fig, [ax1, ax2, ax3] = plt.subplots(1,3, gridspec_kw = {'width_ratios':[3, 2, 1]}, figsize=(10,10))

plt.show()

如果要对尺寸进行更多控制,也可以使用轴。它仍然是相对的,但现在是整个体形大小的一小部分。

import matplotlib.pyplot as plt

# use plt.Axes(figure, [left, bottom, width, height])
# where each value in the frame is between 0 and 1

# left
figure = plt.figure(figsize=(10,3))
ax1 = plt.Axes(figure, [.1, .1, .25, .80])
figure.add_axes(ax1)
ax1.plot([1, 2, 3], [1, 2, 3])

# middle
ax2 = plt.Axes(figure, [.4, .1, .25, .80])
figure.add_axes(ax2)
ax2.plot([1, 2, 3], [1, 2, 3])

# right
ax3= plt.Axes(figure, [.7, .1, .25, .80])
figure.add_axes(ax3)
ax3.plot([1, 2, 3], [1, 2, 3])

plt.show()
 类似资料:
  • 我试图创建一个由2x2网格组成的图形,其中每个象限有两个垂直堆叠的子图(即2x1网格)。不过,我似乎不知道如何实现这一点。 我得到的最接近的是使用gridspec和一些丑陋的代码(见下文),但是因为改变了所有子图的行间距,所以我仍然不在我想去的地方。 理想情况下,我想要的是,以下图为例,减少每个象限内子地块之间的间距,同时增加顶部和底部象限之间的垂直间距(即1-3和2-4之间)。 有没有办法做到这

  • Artemis控制台错误 AMQ222214:目标 /queue/app/xxx地址大小不一致且为负 脚本 该消息可在/queue/app/xxx中找到 突然,错误开始出现,队列似乎被阻塞,侦听器没有收到任何新的非持久性/非持久性消息。同样的设置工作了一段时间。 观察 看起来,罪魁祸首是我一直打开自动创建过期资源功能。因此,在消息到期时,将为通配符队列(/queue/app/*)和实际队列(/qu

  • 固定映射地址和输入输出重映射 固定映射地址是一组特殊的编译时确定的地址,它们与物理地址不一定具有减 __START_KERNEL_map 的线性映射关系。每一个固定映射的地址都会映射到一个内存页,内核会像指针一样使用它们,但是绝不会修改它们的地址。这是这种地址的主要特点。就像注释所说的那样,“在编译期就获得一个常量地址,只有在引导阶段才会被设定上物理地址。”你在本书的前面部分可以看到,我们已经设定

  • 在Matplotlib中创建子地块数组时,有没有一种方法可以完全去掉勾号标签?我目前需要根据绘图对应的较大数据集的行和列指定每个绘图。我尝试使用ax.setxticks([])和类似的y轴命令,但没有成功。 我认识到,这可能是一个不寻常的要求,希望作出一个绘图没有轴数据,但这是我需要的。我需要它自动应用于数组中的所有子地块。

  • 这起作用了,但有一个48x48的正方形,里面什么也没有,因为没有图像源。我试着用CSS把边框改成0像素,并把它的颜色改成白色,但它不起作用,方块保持不变。 然后我尝试使用break标记,但它们的问题是我不能有一个精确的48x48的空白。 如何在页面中插入固定大小的空白? 我将把空格放在div中,然后使用。innerhtml更改div标记之间的代码,将空格替换为图像。

  • 问题内容: 因此,我正在从Web服务加载图像,但是图像的大小有时小于或大于其他图像,当我将其放入android的ListView中时,可视化效果看起来很愚蠢。我想固定ImageView的大小,以便仅在图像大小大于预设值时才显示图像的一部分。我已经尝试了所有可以想到的设置setMaxWidth / setMaxHeight,将比例类型设置为centerCrop,使用ClipableDrawable包