python - Python pylab 图表绘图和循环
问题描述
我只是在学习 Python,我想知道是否有人可以帮助我让图表在以下代码中正确呈现,即绘制数据点的序列。我已经放置了打印语句,所以我可以查看计算是否正确。
谢谢
from pylab import *
def some_function(ff, dd):
if dd >=0 and dd <=200:
tt = (22/-90)*ff+24
elif dd >=200 and dd <=1000:
st = (22/-90)*(ff)+24
gg = (st-2)/-800
tt = gg*dd+(gg*-1000+2)
else:
tt = 2.0
return tt
ff = float(25)
for dd in range (0, 1200, 100):
tt1 = some_function(ff, dd)
plot(dd,tt1)
print(dd)
print(tt1)
title("Something")
xlabel("x label")
ylabel("y label")
show()
解决方案
由于您一次绘制一个点,因此您需要散点图或带有标记的图
for dd in range (0, 1200, 100):
tt1 = some_function(ff, dd)
scatter(dd, tt1) # Way number 1
# plot(dd,tt1, 'o') # Way number 2
编辑(在下面的评论中回答您的第二个问题):将结果保存在列表中并在 for 循环之外绘制
result = []
dd_range = range (0, 1200, 100)
for dd in dd_range:
tt1 = some_function(ff, dd)
result.append(tt1)
plt.plot(dd_range, result, '-o')
推荐阅读
- apache-spark - 我可以使用 regexp_replace 或其他等效方法用一行代码替换 pyspark 数据框列中的多个值吗?
- html - 我无法访问我想要的页面
- python - Scipy curve_fit 卡在边界上?
- r - R意大利面条图 - 用连接点改变线条颜色
- javascript - 无法理解这种行为
- ruby - Ruby,不可变整数和未使用的对象
- javascript - Jest/Express:仅当有多个描述块时,测试才会失败并出现异步错误
- c++ - 'windows.h',其他平台呢?
- javascript - 在对遍历它的数组的位置进行改组后,它变得慢了很多,这是为什么呢?
- javascript - 使用 Keycloak 和 ReactJS 按需登录