Как сделать так, чтобы ширина линии одной строки изменилась как функция x в matplotlib? - PullRequest
6 голосов
/ 17 ноября 2011

Кто-нибудь знает, как изменить ширину линии в одной строке как функцию от x в matplotlib? Например, как бы сделать линию тонкой для малых значений x и толстой для больших значений x?

1 Ответ

8 голосов
/ 18 ноября 2011

По сути, вам нужно использовать многоугольник вместо линии.В качестве быстрого примера:

import numpy as np
import matplotlib.pyplot as plt

# Make the original line...
x = np.linspace(0, 10, 100)
y = 2 * x
thickness = 0.5 * np.abs(np.sin(x) * np.cos(x))

plt.fill_between(x, y - thickness, y + thickness, color='blue')
plt.show()

enter image description here

Или, если вы хотите что-то ближе к вашему описанию:

import numpy as np
import matplotlib.pyplot as plt

# Make the original line...
x = np.linspace(0, 10, 100)
y = np.cos(x)
thickness = 0.01 * x

plt.fill_between(x, y - thickness, y + thickness, color='blue')
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...