如何设置图形坐标轴范围

How to set figure axis range

创建图形后如何设置坐标轴范围?我想创建一个 2 英寸 x 1 英寸的图形,其中三个圆圈彼此相邻。目前我正在尝试使用以下 a、b、c、d 但没有成功

a=0
b=0
c=5
d=10

sradius = .5

fig = plt.figure(num=0, figsize=[2,1], dpi=300, facecolor = 'w', edgecolor = 'k', frameon=True)
ax = fig.add_axes([a,b,c,d])

states = [plt.Circle((sradius+x,sradius), radius=sradius, fc='y') for x in range(4)]

for state in states: ax.add_patch(state)

fig.show()

Output figure

我想要一个 2 英寸 x 1 英寸的图形,其中 y 轴从 0 到 5,x 轴从 0 到 10。更改 a、b、c、d 始终保持轴从 0到 1. 我该怎么办?

您可以使用 plt.xlim()plt.ylim() 来控制轴限制。

例如

a=0
b=0
c=5
d=10

sradius = .5

fig = plt.figure(num=0, figsize=[2,1], dpi=300, facecolor = 'w', edgecolor = 'k', frameon=True)
ax = fig.add_axes([a,b,c,d])

states = [plt.Circle((sradius+x,sradius), radius=sradius, fc='y') for x in range(4)]

for state in states: ax.add_patch(state)
plt.xlim(0,5)
plt.ylim(0,10)
fig.show()

已经有一个非常相似的例子: plot a circle with pyplot

不过这是我的看法:

import matplotlib.pyplot as plt

sradius = .5

circle1 = plt.Circle((0.5, 0.5), sradius, color='r')
circle2 = plt.Circle((1.5, 0.5), sradius, color='blue')
circle3 = plt.Circle((2.5, 0.5), sradius, color='g', clip_on=False)

fig, ax = plt.subplots(figsize=(12,4))

ax.add_artist(circle1)
ax.add_artist(circle2)
ax.add_artist(circle3)

ax.set_xlim(0,3)

plt.show()

PS:如果您的代码中不包含 import 语句,周围的人会生气。