Python 在matplotlib中,如何使单行的线宽随着x的变化而变化?

Python 在matplotlib中,如何使单行的线宽随着x的变化而变化?,python,matplotlib,Python,Matplotlib,有人知道如何在matplotlib中将单行的线宽作为x的函数进行更改吗?例如,对于较小的x值,如何使直线变细,对于较大的x值,如何使直线变粗?基本上,您需要使用多边形而不是直线。举个简单的例子: 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)

有人知道如何在matplotlib中将单行的线宽作为x的函数进行更改吗?例如,对于较小的x值,如何使直线变细,对于较大的x值,如何使直线变粗?

基本上,您需要使用多边形而不是直线。举个简单的例子:

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()

或者,如果您想要更接近您的描述:

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()

你能澄清一下你想要什么吗:你想要线路的起点和终点在哪里?这只是一条垂直线吗?还有,到目前为止您尝试了什么,您有什么问题?基本思想是,我有一个x值数组,一个y值数组,以及一个我希望每个点的线宽的数组。问题是当您打印一条线时,线宽关键字只接受一个数字。我找不到任何方法让它接受一系列的值。