如何在循环中绘制同一图表上的点而不是单独的图表?

2024-04-26 21:02:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个循环内将文本文件中的多个点绘制到同一图表上。但是,目前我的代码将每个点绘制为单独的图表

modname=['model_a'、'model_b'、'model_c'、'model_d'、'model_e'、'model_f']

d=pd.read_表(“sample.txt”)

for mdl in modname:
  pod=d[ (d.MODEL == mdl) & (d.SCORE == "PODY")].VALUE
  far=d[ (d.MODEL == mdl) & (d.SCORE == "FAR")].VALUE
  csi=d[ (d.MODEL == mdl) & (d.SCORE == "CSI")].VALUE
  bias=d[ (d.MODEL == mdl) & (d.SCORE == "FBIAS")].VALUE
  sro = 1 - far

  print mdl
  print pod
  print far
  print csi
  print bias
  print sro

fig = plt.figure(figsize=(12,12))

for mdl in modname:
  plt.scatter(sro,pod,color=leg_col[i],marker='.',s=750)
  plt.savefig(imgdir+outf)

我在第二个循环中对示例进行了缩短。我期望一张图表上有6个点,但我得到6张图表上有一个点。我不确定是否我的循环设置不正确,或者我的数据保存错误。数据来自一个文本文件,其标题由空格分隔


Tags: formodelvalue图表绘制pltpodscore
1条回答
网友
1楼 · 发布于 2024-04-26 21:02:43

改变

for mdl in modname:
  plt.scatter(sro,pod,color=leg_col[i],marker='.',s=750)
  plt.savefig(imgdir+outf)

for mdl in modname:
  plt.scatter(sro,pod,color=leg_col[i],marker='.',s=750)

plt.savefig(imgdir+outf)

您正在保存每个循环

相关问题 更多 >