我有一个包含三列数据的数据文件:x和y表示要绘制的数据点的坐标;z是一个0或1的整数。当z=0时,我希望用实线绘制数据,当z=1时,我希望用虚线绘制。在
我想这样做的原因是,我的数据(x,y)表示微分方程的解,z表示这些解的稳定性——z=0表示稳定解,z=1表示不稳定。传统的表示稳定性的方法是用实线和虚线表示。在
如果我使用matplotlib来绘制(x,y),而忽略z,则得到以下绘图:
我使用了以下代码:
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
data = np.genfromtxt('bif.txt')
x, y, z = np.hsplit(data, 3)
font = {'size' : 18}
matplotlib.rc('font', **font)
plt.plot(x, y, linestyle='-',color='b', linewidth=3.0)
plt.ylabel('$||u||_{2}$', fontsize=24, rotation=0, labelpad = 26)
plt.xlabel('$h$', fontsize=24)
plt.tight_layout()
plt.show()
实际上,根据z值,上面的图应该有虚线和实线的交替分支?在
以下是一些示例数据:
^{pr2}$
itertools.groupby
是一个方便的函数,尽管我不知道使用它会对性能产生多大的影响。在例如(从内存写入):
相关问题 更多 >
编程相关推荐