我正在使用下面的脚本绘制一个数字。当我绘制图形时,最后一个点连接到第一个点。如何删除最后一个线条图?请注意,其他一切似乎都可以。
我试图在第一个到最后一个点上进行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()
如何绘制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()