简体   繁体   English

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

[英]How to plot points on same chart in a loop and not separate charts?

I am trying to plot multiple points in a text file onto the same chart within a loop. 我试图在一个循环中将文本文件中的多个点绘制到同一张图表上。 However, currently my code plots each point as a separate chart. 但是,当前我的代码将每个点绘制为单独的图表。

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

d = pd.read_table("sample.txt") d = pd.read_table(“ 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)

I shortened aspects in the second loop for the example here. 我在此处的示例的第二个循环中缩短了方面。 I expect one chart with 6 points on it but I get 6 charts with one point on them. 我期望一张图表上有6点,但是我得到6张图表上有1点。 I'm not sure if I have my loop set up incorrectly or I'm saving my data wrong. 我不确定是否设置了错误的循环,或者我将数据保存错误。 The data is coming from a text file with headers separated by spaces. 数据来自文本文件,其标题由空格分隔。

change 更改

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

to

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

plt.savefig(imgdir+outf)

you are saving every loop 您正在保存每个循环

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM