为了账号安全,请及时绑定邮箱和手机立即绑定

Matplotlib 在绘图时将最后一个点连接到第一个点

Matplotlib 在绘图时将最后一个点连接到第一个点

Smart猫小萌 2021-12-16 16:12:11
我正在使用下面的脚本绘制图形。当我绘制图形时,最后一个点连接到第一个点。如何删除最后一条线图?请注意,其他一切似乎都没问题。我试图在第一个到最后一个点上执行 for 循环,结果如下图所示。fig = pl.figure()ax = fig.add_subplot(111)xValues = []yValues =[]for tr in range(105,300,5): tr = tr/100. for pr in range(0,1500,1):   pr = pr / 100.    result = compressiblityFactor(pr,tr,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11)   ##result = compressiblityFactor(p,t,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,specificGravity)   xValues.append((pr))   yValues.append(result)pl.plot(xValues,yValues)pl.show()
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

如何绘制情节matplotlib:


您发送以绘制几个点,然后将其从一个绘制到另一个。在您的代码中,您构建了多条曲线,但没有单独绘制每条曲线,而是将所有曲线都发送到绘图中。所以它绘制第一条曲线,到达终点并开始绘制下一条。但!它不知道还有另一条曲线,它认为它是一条非常大的复杂曲线的一部分,所以情节画了那条恼人的线。如果你想分开绘制它们,你应该pl.plot(xValues,yValues)进入第一个for并xValues, yValues在它之后空。这是我的代码示例(compressiblityFactor被随机函数替换):


import matplotlib.pyplot as pl

import math


fig = pl.figure()

ax = fig.add_subplot(111)


for tr in range(105,300,5):

    xValues = []

    yValues = []

    tr = tr/100.

    for pr in range(0,1500,100):

        pr = pr / 100. 

        result = pr*pr*math.sin(tr*40)

        xValues.append(pr)

        yValues.append(result)

    pl.plot(xValues,yValues)


pl.show()


查看完整回答
反对 回复 2021-12-16
  • 1 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号