Как убрать удаление границ в изображении pyplot?
Я попробовал несколько подходов, но ни один из них, казалось, не работал хорошо для меня.
Для меня также важно сохранить пользовательские оси, но я бы хотел переместить их в абсолютную верхнюю / правую / левую / нижнюю границу, чтобы границы были невидимыми.
Сгенерированное изображение
Как это должно выглядеть
def draw(screen, palette, figures, output):
my_dpi = 100
size = plt.rcParams["figure.figsize"]
size[0] = screen.height / my_dpi
size[1] = screen.width / my_dpi
plt.rcParams['figure.facecolor'] = screen.bg_color.code
fig, ax = plt.subplots()
plt.axis([0, screen.height, 0, screen.width])
plt.axis('off')
for figure in figures:
col = figure.color
if not col:
col = screen.fg_color
# --- #
elif isinstance(figure, Circle):
shape = plt.Circle((figure.point.x, figure.point.y), figure.radius, color=col.code, clip_on=True)
ax.add_patch(shape)
# --- #
fig.show()
if output:
fig.savefig(output, facecolor=fig.get_facecolor(), bbox_inches='tight', pad_inches=0)
import matplotlib.pyplot as plt
Пример выполнения:
import matplotlib.pyplot as plt
def draw():
my_dpi = 100
height = 600
width = 800
size = plt.rcParams["figure.figsize"]
size[0] = height / my_dpi
size[1] = width / my_dpi
plt.rcParams['figure.facecolor'] = "#2c3e50"
fig, ax = plt.subplots()
plt.axis([0, height, 0, width])
plt.axis('off')
shape = plt.Circle((40, 40), 40, color="#e67e22", clip_on=True)
ax.add_patch(shape)
shape = plt.Circle((600, 800), 100, color="#e67e22", clip_on=True)
ax.add_patch(shape)
fig.show()
fig.savefig("./shape.png", facecolor=fig.get_facecolor(), bbox_inches='tight', pad_inches=0)