KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to read in a file containing XY endpoints of line segments and a value associated with the segment, then plot the line segments colored by the value given. The problem I am having is that there is potentially hundreds of thousands to millions of line segments and when I attempt to read in these larger files I run into a memory error. Is there a more memory efficient way of doing this? import matplotlib.pyplot as plt import matplotlib.colors as colors import matplotlib.cm as cmx import sys import csv if len(sys.argv) > 1: flofile = sys.argv[1] else: flofile = "GU3\GU3.flo" fig = plt.figure() ax = fig.add_subplot(111) jet = cm = plt.get_cmap('jet') cNorm = colors.Normalize(vmin=0) scalarMap = cmx.ScalarMappable(norm=cNorm,cmap=jet) with open(flofile) as FLO: title = FLO.readline() limits = [float(tp) for tp in FLO.readline().split()] FLO.readline()#headers for line in FLO: if 'WELLS' in line: break frac = ([float(tp) for tp in line.split()]) ax.plot([frac[0],frac[2]],[frac[1],frac[3]],color=colorVal) #ax.plot(*call_list) scalarMap._A = [] plt.colorbar(scalarMap) plt.xlim([0,limits[0]]) plt.ylim([0,limits[1]]) plt.show() This code works for small files. Thanks.
Tags (comma-separated)
Save Edits
Cancel