创建图形后如何设置轴范围?我要创建一个2英寸乘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()
我想要的是2英寸乘1英寸的图形,其中y轴从0到5,x轴从0到10。更改a,b,c,d始终使轴从0到1我该怎么办?
答案 0 :(得分:0)
您可以使用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()
答案 1 :(得分:0)
已经有一个非常相似的示例: 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语句,那么周围的人会很生气。