aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn B. Brandenburg <bbb@cs.unc.edu>2010-05-23 18:00:16 -0400
committerBjörn B. Brandenburg <bbb@cs.unc.edu>2010-05-25 15:53:13 -0400
commit18b4566ab4a9e67947b80be07598e09bd2532546 (patch)
treebb80e53731d185a76fe6f12be8880dc8d8f57a9b
parent473e87dba9e01cd4439d179603da7dec4aa32a63 (diff)
support writing files for plot3d
-rw-r--r--util.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/util.py b/util.py
index 480ae5f..7d81d4f 100644
--- a/util.py
+++ b/util.py
@@ -8,7 +8,8 @@ def load_csv_file(fname, *args, **kargs):
8 f.close() # don't leak file handles 8 f.close() # don't leak file handles
9 return data 9 return data
10 10
11def write_csv_file(fname, rows, header=None, width=None): 11def write_csv_file(fname, rows, header=None, width=None,
12 break_col=None):
12 if fname is None: 13 if fname is None:
13 f = Tmp() 14 f = Tmp()
14 else: 15 else:
@@ -22,10 +23,17 @@ def write_csv_file(fname, rows, header=None, width=None):
22 f.write('#') 23 f.write('#')
23 f.write(", ".join([fmt % str(x) for x in header])) 24 f.write(", ".join([fmt % str(x) for x in header]))
24 f.write('\n') 25 f.write('\n')
26 last_row = None
25 for row in rows: 27 for row in rows:
28 # Insert extra line breaks for Gnuplot plot3d plotting whenever
29 # the value of break_col changes.
30 if not last_row is None and not break_col is None:
31 if last_row[break_col] != row[break_col]:
32 f.write('\n')
26 f.write(' ') 33 f.write(' ')
27 f.write(", ".join([fmt % str(x) for x in row])) 34 f.write(", ".join([fmt % str(x) for x in row]))
28 f.write('\n') 35 f.write('\n')
36 last_row = row
29 if fname is None: 37 if fname is None:
30 # keep it open 38 # keep it open
31 f.flush() 39 f.flush()