我正在跟踪求解微分方程求解器(边界值问题)的进展情况。每次迭代都会产生完整的函数评估f(x),然后可以将其绘制在x轴上。每个图表(理论上)比上一个更接近正确的解,直到收敛。顺序彩色映射用于使早期的图形变淡,后来的图形饱和。
当迭代次数是预定的时,这种方法运作良好。
然而,如果我使用收敛准则而不是预定的迭代次数,那么我就无法事先设置
我知道我可以存储中间结果,并仅在达到收敛后绘制,但这让我感到有些笨重,因为除了在图上看到它们外,我真的没有用处所有中间结果。
所以这里有我的问题: 1. 如何在绘图后更改现有图形的色图? (在MATLAB中很容易。) 2. 如何对同一图中的另一组图进行相同的操作(例如来自不同的初始猜测,收敛到不同的解决方案),而不影响第一组,使得两个色图将集合区分开来。 (通过回答问题1,这应该很明显,但以防万一。)
非常感谢。
当迭代次数是预定的时,这种方法运作良好。
import matplotlib.pyplot as plt
ax = plt.subplot(111)
cm = plt.get_cmap('OrRd')
ax.set_color_cycle([cm(1.*i/(iter+1)) for i in range(1,iter+2)])
ax.plot(x,y)
for k in range(iter):
# iterative solve
ax.plot(x,y)
然而,如果我使用收敛准则而不是预定的迭代次数,那么我就无法事先设置
set_color_cycle
。并且在循环之后放置该行不起作用。我知道我可以存储中间结果,并仅在达到收敛后绘制,但这让我感到有些笨重,因为除了在图上看到它们外,我真的没有用处所有中间结果。
所以这里有我的问题: 1. 如何在绘图后更改现有图形的色图? (在MATLAB中很容易。) 2. 如何对同一图中的另一组图进行相同的操作(例如来自不同的初始猜测,收敛到不同的解决方案),而不影响第一组,使得两个色图将集合区分开来。 (通过回答问题1,这应该很明显,但以防万一。)
非常感谢。
import pylab as pl
和import matplotlib.pyplot as plt
之间是否存在任何实际差异?谢谢。 - bongbangax.legend()
。 - Guimoute