diff options
author | Björn B. Brandenburg <bbb@cs.unc.edu> | 2010-05-23 18:00:16 -0400 |
---|---|---|
committer | Björn B. Brandenburg <bbb@cs.unc.edu> | 2010-05-25 15:53:13 -0400 |
commit | 18b4566ab4a9e67947b80be07598e09bd2532546 (patch) | |
tree | bb80e53731d185a76fe6f12be8880dc8d8f57a9b /util.py | |
parent | 473e87dba9e01cd4439d179603da7dec4aa32a63 (diff) |
support writing files for plot3d
Diffstat (limited to 'util.py')
-rw-r--r-- | util.py | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -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 | ||
11 | def write_csv_file(fname, rows, header=None, width=None): | 11 | def 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() |