Как установить диапазон оси фигуры - PullRequest
0 голосов
/ 26 сентября 2019

Как установить диапазон осей после создания фигуры?Я хочу создать фигуру 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. Что мне делать?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Уже есть очень похожий пример: нарисуйте круг с пиплотом

Однако вот мое мнение:

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: Люди здесь раздражаются, если выне включайте операторы импорта в ваш код.

0 голосов
/ 26 сентября 2019

вы можете использовать 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()
...