使用matplotlib.pyplot在python中绘制的linestyle功能

时间:2014-02-20 12:59:14

标签: python numpy matplotlib plot

我正在尝试使用numpy和matplotlib分散或绘制2组数组。 代码一切正常,除非我在我的情节中尝试使用线条而不是点 我用的时候情节还可以:

from numpy import *
import matplotlib.pyplot as plt
positions=open('test.txt','r')

lines=positions.readlines()

for i in range(0,len(lines)):
    line=lines[i] 
    values=line.split("     ")

    x_val = [float(values[0])]
    y_val = [float(values[1])]
   # plt.scatter(x_val,y_val)
    #Or
    plt.plot(x_val,y_val,'ro')
    plt.title(' Data')
    plt.xlabel('x ')
    plt.ylabel('y')
    plt.show()

positions.close()

enter image description here

但是当我用plt.plot(x_val,y_val,'ro')plt.plot(x_val,y_val,'r')取代plt.plot(x_val,y_val,'-')时,我得到的只是一个空白页面! enter image description here 我不知道问题是什么,因为我尝试了许多不同的选项,但唯一可行的选择是“o”。

1 个答案:

答案 0 :(得分:2)

当您在没有设置标记的情况下请求绘图时,您看不到任何线条的原因是因为您正在单独绘制每个(x,y)点,这可能具有点位置,但会创建长度为零的线。

如果不是在读取时立即绘制每个点,而是将这些值放入数组中,并且只调用一次绘图函数,也可以显示一行:

x_vals = []
y_vals = []

for i in range(0,len(lines)):
    line=lines[i] 
    values=line.split("     ")

    x_vals.append(float(values[0]))
    y_vals.append(float(values[1]))

plt.plot(x_vals, y_vals,'ro-')

如果需要,您仍然可以在散点图中使用数据。