首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拟图,从左到右绘图

拟图,从左到右绘图
EN

Stack Overflow用户
提问于 2016-04-03 13:28:02
回答 2查看 1.3K关注 0票数 0

我有一些我想要绘制的数据,x和y与这小块示例代码的格式相同。

代码语言:javascript
复制
    import matplotlib.pyplot as plt

    y = [1,1,3,4]
    x = [1,4,2,3]
    plt.plot(x,y,'-o')
    plt.show()

这导致了一个相当奇怪的图表。

pyplot所做的是从第一点插入到第二个,再到第三个等等,我想要它画一条从低x到高x的线,但是我似乎找到了一个很好的方法。我希望我的台词像这样。

考虑到我的x和y数据格式相同,但比本例更复杂,那么实现这一目标的最简单方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-03 13:41:04

要获得您刚才提到的图,您需要按排序顺序使用x中的值,您可以这样实现:

代码语言:javascript
复制
z = sorted(zip(x,y))
x=[i[0] for i in z]
y=[i[1] for i in z]

现在使用x和y绘制(未测试)。

票数 3
EN

Stack Overflow用户

发布于 2016-04-03 13:49:09

你可以通过同时改变y来排序你的x列表,

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36385970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档