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

如何使用子图更改图形大小?

姜森
2023-03-14

我在Matplotlib网站上看到了这个例子。我想知道是否有可能增加体型。

我试过了

f.figsize(15,15)

但它什么也做不了。

共有3个答案

尹小云
2023-03-14

除了前面的答案之外,这里还有一个选项,可以通过gridspec_kw单独设置图形的大小和子图的大小:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

#generate random data
x,y=range(100), range(10)
z=np.random.random((len(x),len(y)))
Y=[z[i].sum() for i in range(len(x))]
z=pd.DataFrame(z).unstack().reset_index()

#Plot data
fig, axs = plt.subplots(2,1,figsize=(16,9), gridspec_kw={'height_ratios': [1, 2]})
axs[0].plot(Y)
axs[1].scatter(z['level_1'], z['level_0'],c=z[0])
曹浩淼
2023-03-14

或者,使用figsize参数创建一个figure()对象,然后使用add_subplot添加子地块。例如。

import matplotlib.pyplot as plt
import numpy as np

f = plt.figure(figsize=(10,3))
ax = f.add_subplot(121)
ax2 = f.add_subplot(122)
x = np.linspace(0,4,1000)
ax.plot(x, np.sin(x))
ax2.plot(x, np.cos(x), 'r:')

这种方法的好处是语法更接近于调用subplot(),而不是subplot()。例如,子地块似乎不支持使用GridSpec控制子地块的间距,但subplot()add_subplot()都支持。

杨宏儒
2023-03-14

如果您已经有了图形对象,请使用:

f.set_figheight(15)
f.set_figwidth(15)

但是如果您使用. subplots()命令(如您所展示的示例)来创建一个新图形,您也可以使用:

f, axs = plt.subplots(2,2,figsize=(15,15))
 类似资料:
  • 问题内容: 我在Matplotlib网站上遇到了这个示例。我想知道是否有可能增加图形尺寸。 我尝试过 但它什么也没做。 问题答案: 如果已经有了图形对象,请使用: 但是,如果您使用.subplots()命令(如您所显示的示例中所示)来创建新图形,则还可以使用:

  • 问题内容: 如何更改图像尺寸以适合打印? 例如,我想使用A4纸,其横向尺寸为11.7英寸乘8.27英寸。 问题答案: 您需要提前创建matplotlib Figure和Axes对象,并指定图形的大小:

  • 如何更改图像的大小,使其适合打印? 例如,我想使用A4纸,其尺寸为横向11.7英寸乘8.27英寸。

  • 我正在尝试使用重叠项目(类似轮播组件)实现ViewPager2。一切似乎都很好,但我的中心项目与下一个项目重叠。我希望我的中心物品位于任何相邻物品的前面。 见下图: 当你使用ViewPager1类时,我们可以覆盖getChildDrawingOrder。 请参见此处的示例解决方案:链接 但不能派生和扩展ViewPager2(因为ViewPager1类是最终类)。我该怎么办?

  • 问题内容: 这里有一个简单的问题:我试图使用较小的图例(即文本较小)。我正在使用的代码是这样的: 问题答案: 您可以通过调整关键字为图例设置单独的字体大小。 这需要对应于属性的关键字字典。参见图例文档: 关键字参数: 从1.2.1版开始,也可以使用关键字。

  • 问题内容: 如何更改用matplotlib绘制的图形的大小? 问题答案: 如果你已经创建了图形,则可以快速执行以下操作: 要将大小更改传播到现有的窗口,请添加