在这种情况下,为什么matplotlib会线性绘制?

时间:2020-10-05 14:37:54

标签: python matplotlib plot gnuplot scatter-plot

我有一个看起来像这样的文件:

50  -5770.28217920
60  -5777.65455948
80  -5781.46247693
90  -5782.48469438
100 -5783.53910123
110 -5784.48875463
120 -5785.20993545
130 -5785.67562915
140 -5785.92792826
150 -5786.04192799
160 -5786.08411149
170 -5786.10038894
180 -5786.11543587
190 -5786.13784315
200 -5786.16694454
210 -5786.19846679
220 -5786.22802030
230 -5786.25234746
240 -5786.27030127
250 -5786.28215924
260 -5786.28904135
270 -5786.29240667
280 -5786.29367385
290 -5786.29396076
300 -5786.29400469

我想使用matplotlib绘制此数据,并进行如下处理:

f = open(fname, "r")
lines = f.readlines()
results = []
for x in lines:
    results.append(x.split('\n')[0])

col1 = []
col2 = []
for r in results:
    col1.append(r.split('\t')[0])
    col2.append(r.split('\t')[1])

import matplotlib.pyplot as plt
plt.scatter(col1,col2)

我希望它看起来像渐近曲线,如Gnuplot所示:

Gnuplot Image

相反,我得到以下线性图:

Matplotlib Image

我尝试包含plt.xscale('linear')plt.yscale('linear'),但没有任何效果。有人可以找出问题所在吗?

0 个答案:

没有答案