📜  Python中的 Matplotlib.pyplot.margins()函数

📅  最后修改于: 2022-05-13 01:54:19.832000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.margins()函数

先决条件: Matplotlib

Matplotlib.pyplot.margins()是一个用于设置 x 和 y 轴边距的函数。所有输入参数必须是也在 [0, 1] 范围内的浮点数。我们不能同时传递位置参数和关键字参数,因为这会引发 TypeError。添加到轴的每个限制的填充是边距乘以该轴的数据间隔。如果未提供任何参数,则现有边距保持不变。指定边距会更改自动缩放。

  • 如果仅提供一个浮点值,则将其作为 x 轴和 y 轴的边距。
  • 如果提供了两个浮点值,它们将分别用于指定 x-margin 和 y-margin 轴。

下面给出了使用这个函数的各种实现:

示例:一般应用

Python3
import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5]
labels = ['Radius 1', 'Radius 2', 'Radius 3', 'Radius 4', 'Radius 5']
y = [i**2 for i in x]
  
plt.plot(x, y)
plt.xticks(x, labels, rotation=45)
plt.margins()
plt.show()


Python3
import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5]
labels = ['Radius 1', 'Radius 2', 'Radius 3', 'Radius 4', 'Radius 5']
y = [i**2 for i in x]
  
plt.plot(x, y)
plt.xticks(x, labels, rotation=45)
plt.margins(0.5)
plt.show()


Python3
import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5]
labels = ['Radius 1', 'Radius 2', 'Radius 3', 'Radius 4', 'Radius 5']
y = [i**2 for i in x]
  
plt.plot(x, y)
plt.xticks(x, labels, rotation=45)
plt.margins(x=0.1, y=0.5)
plt.show()


Python3
import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5]
labels = ['Radius 1', 'Radius 2', 'Radius 3', 'Radius 4', 'Radius 5']
y = [i**2 for i in x]
  
plt.plot(x, y)
plt.xticks(x, labels, rotation=45)
plt.margins(x=2, y=2)
plt.show()


输出:

示例:将参数传递给 margins()函数

蟒蛇3

import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5]
labels = ['Radius 1', 'Radius 2', 'Radius 3', 'Radius 4', 'Radius 5']
y = [i**2 for i in x]
  
plt.plot(x, y)
plt.xticks(x, labels, rotation=45)
plt.margins(0.5)
plt.show()

输出:

示例:为 x 和 y 传递小于 1 的不同值,生成的图形将被放大

蟒蛇3

import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5]
labels = ['Radius 1', 'Radius 2', 'Radius 3', 'Radius 4', 'Radius 5']
y = [i**2 for i in x]
  
plt.plot(x, y)
plt.xticks(x, labels, rotation=45)
plt.margins(x=0.1, y=0.5)
plt.show()

输出:

示例:为 x 和 y 传递大于 的不同值,生成的图形将被缩小

蟒蛇3

import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5]
labels = ['Radius 1', 'Radius 2', 'Radius 3', 'Radius 4', 'Radius 5']
y = [i**2 for i in x]
  
plt.plot(x, y)
plt.xticks(x, labels, rotation=45)
plt.margins(x=2, y=2)
plt.show()

输出: