#python #matplotlib
#python #matplotlib
Вопрос:
Следующий скрипт рисует красный прямоугольник, но matplotlib добавляет дополнительные строки вдоль осей к первой / последней точкам. Как я могу нарисовать красную рамку без красных линий? Colab v3.2.2
по умолчанию использует matplotlib, но если я обновлюсь v3.3.3
и перезапущу среду выполнения, я все равно получу красные строки.
def draw():
# read in data
x = [10, 10, 20, 20, 10]
y = [10, 20, 20, 10, 10]
# plot data
ax.fill_between(x, y, color = 'red')
ax.plot(x, y, color = 'black', linewidth = 2)
if __name__ == '__main__':
# We are running this script on its own
import pandas as pd
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
draw()
plt.show()
Комментарии:
1. согласно строке документа, подпись для
fill_between
являетсяax.fill_between(x, y1, y2=0)
. Да, вы ожидали бы эту строку. Вы ищетеPolygon
вместо2. Похоже
fill()
, что это дает желаемый эффект вместоfill_between()
илиPolygon
:fill(x, y, color='red')
в этом примере matplotlib .
Ответ №1:
Вам просто нужно изменить аргумент «color» на «facecolor», и он должен работать
def draw():
# read in data
x = [10, 10, 20, 20, 10]
y = [10, 20, 20, 10, 10]
# plot data
ax.fill_between(x, y, facecolor = 'red')
ax.plot(x, y, color = 'black', linewidth = 2)
if __name__ == '__main__':
# We are running this script on its own
import pandas as pd
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
draw()
plt.show()