我正试图为我的数据集使用loglog图,但我希望我的图线在每组的最后一个y值处结束,但matplotlib用一条直线完成了到x轴的loglog图。
但我希望我的情节是这样的,以精确的最终值结束。
我对x轴有相同的数组,但有4个不同的y值,所以我把我的图画成这样:
plt.loglog(x,y1,x,y2,x,y3,x,y4)
我从txt文件创建我的y数组,如下所示:
with open(os.path.join(root,name),'r') as fin:
y1 = []
for q in fin:
y1.append(float(q.split(' ')[1]))
如何从y1数组中删除零值?
数值如下:
1 0.535025
2 0.116237
4 0.0336809
8 0.00814949
16 0.00159025
32 0.000202602
64 1.00662e-05
128 7.68864e-08
256 0
512 0
1024 0
2048 0
4096 0
8192 0
16384 0
好吧,我只是添加了以下代码,用NaN值替换零值,这样loglog((图就不会使用NaN值:
for i in range(0,15):
if y1[i] == 0:
y1[i] = np.nan
注意:我在y1数组中有15个值,这就是为什么我的范围是0到15。
所以问题解决了!我想怎样就怎样。