我想要绘制一些数据,x和y与这一小段示例代码的格式相同。
import matplotlib.pyplot as plt
y = [1,1,3,4]
x = [1,4,2,3]
plt.plot(x,y,'-o')
plt.show()
pyplot的作用是从第一个插入第二个点,然后到第三个点等等画一条线。 我希望它从low-x到high-x画一条线,但我似乎找到了一个很好的方法来做到这一点。我希望我的线条像这样。
实现这一目标的最简单方法是什么,因为我的x和y数据格式相同但比这个例子更复杂?
答案 0 :(得分:3)
要获得您提到的图表,您需要按照排序顺序在x
中设置值,您可以这样实现:
z = sorted(zip(x,y))
x=[i[0] for i in z]
y=[i[1] for i in z]
现在使用x和y进行绘图(未测试)。
答案 1 :(得分:0)
您可以同时更改y,
对x列表进行排序import matplotlib.pyplot as plt
y = [1,1,3,4]
x = [1,4,2,3]
for i in range(len(x)):
for k in range( len( x ) - 1, i, -1 ):
if ( x[k] < x[k - 1] ):
x[k-1],x[k]=x[k],x[k-1]
y[k-1],y[k]= y[k],y[k-1]
print x,y
plt.plot(x,y,'-o')
plt.show()