我正在编写一个程序,使用户可以在已定义的轴上绘制函数。有什么方法可以使最后绘制的函数始终是固定颜色(例如绿色)?
例如,下面的代码将多项式的阶数作为输入,并绘制所有相同阶数和更低阶数的多项式。我想要一个调整,例如 last 图(在这种情况下,最高阶的多项式)始终为绿色:
import numpy as np
import matplotlib.pyplot as plt
def plot_polynomials(highest_degree):
x = np.arange(0,1,0.01)
for degree in np.arange(1,highest_degree+1):
coefficients = np.repeat(1,degree)
label = 'degree={}'.format(degree)
polynomial = np.polynomial.polynomial.polyval(x, coefficients)
plt.plot(x, polynomial, label=label)
plt.legend()
plt.show()
plot_polynomials(6)
期待评论!
答案 0 :(得分:0)
这应该做:
def plot_polynomials(highest_degree):
x = np.arange(0,1,0.01)
for degree in np.arange(1,highest_degree+1):
coefficients = np.repeat(1,degree)
label = 'degree={}'.format(degree)
colors=plt.rcParams['axes.prop_cycle'].by_key()['color']
colors.pop(2) #Removing green from color cycle
polynomial = np.polynomial.polynomial.polyval(x, coefficients)
if degree==highest_degree:
plt.plot(x, polynomial, label=label, color='g', lw=3)
else:
plt.plot(x, polynomial, label=label, color=colors[degree-1])
plt.legend()
plt.show()
plot_polynomials(6)
输出:
注意:使用lw
将行加粗,但这显然是可选的
编辑:从颜色循环中删除了绿色,因此只有一条绿线