def display_results_figure(results, METRIC):
import pylab as pb
color = iter(pb.cm.rainbow(np.linspace(0, 1, len(results))))
plots = []
for method in results.keys():
x = []
y = []
for train_perc in sorted(results[method].keys()):
x.append(train_perc)
y.append(results[method][train_perc][0])
c = next(color)
(pi, ) = pb.plot(x, y, color=c)
plots.append(pi)
from matplotlib.font_manager import FontProperties
fontP = FontProperties()
fontP.set_size('small')
pb.legend(plots, map(method_name_mapper, results.keys()),
prop=fontP, bbox_to_anchor=(0.6, .65))
pb.xlabel('#Tweets from target rumour for training')
pb.ylabel('Accuracy')
pb.title(METRIC.__name__)
pb.savefig('incrementing_training_size.png')
python类legend()的实例源码
def display_pr_curve(precision, recall):
# following examples from sklearn
# TODO: f1 operating point
import pylab as plt
# Plot Precision-Recall curve
plt.clf()
plt.plot(recall, precision, label='Precision-Recall curve')
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.ylim([0.0, 1.05])
plt.xlim([0.0, 1.0])
plt.title('Precision-Recall example: Max f1={0:0.2f}'.format(max_f1))
plt.legend(loc="lower left")
plt.show()
def ex2():
x = np.linspace(-10, 10)
# "--" = dashed line
plt.plot(x, np.sin(x), "--", label="sinus")
plt.plot(x, np.cos(x), label="cosinus")
# Show the legend using the labels above
plt.legend()
# The trick here is we have to make another plot on top of the two others.
pi2 = np.pi/2
# Find B such that (-B * pi/2) >= -10 > ((-B-1) * pi/2), i.e. the
# first multiple of pi/2 higher than -10.
b = pi2*int(-10.0/pi2)
# x2 is all multiples of pi/2 between -10 and 10.
x2 = np.arange(b, 10, pi2)
# "b." = blue dots
plt.plot(x2, np.sin(x2), "b.")
plt.show()
plot_recallPrecision.py 文件源码
项目:breaking_cycles_in_noisy_hierarchies
作者: zhenv5
项目源码
文件源码
阅读 29
收藏 0
点赞 0
评论 0
def _plotFMeasures(fstepsize=.1, stepsize=0.0005, start = 0.0, end = 1.0):
"""Plots 10 fmeasure Curves into the current canvas."""
p = sc.arange(start, end, stepsize)[1:]
for f in sc.arange(0., 1., fstepsize)[1:]:
points = [(x, _fmeasureCurve(f, x)) for x in p
if 0 < _fmeasureCurve(f, x) <= 1.5]
try:
xs, ys = zip(*points)
curve, = pl.plot(xs, ys, "--", color="gray", linewidth=0.8) # , label=r"$f=%.1f$"%f) # exclude labels, for legend
# bad hack:
# gets the 10th last datapoint, from that goes a bit to the left, and a bit down
datapoint_x_loc = int(len(xs)/2)
datapoint_y_loc = int(len(ys)/2)
# x_left = 0.05
# y_left = 0.035
x_left = 0.035
y_left = -0.02
pl.annotate(r"$f=%.1f$" % f, xy=(xs[datapoint_x_loc], ys[datapoint_y_loc]), xytext=(xs[datapoint_x_loc] - x_left, ys[datapoint_y_loc] - y_left), size="small", color="gray")
except Exception as e:
print e
#colors = "gcmbbbrrryk"
#colors = "yyybbbrrrckgm" # 7 is a prime, so we'll loop over all combinations of colors and markers, when zipping their cycles
4(improved-7).py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 34
收藏 0
点赞 0
评论 0
def show_results(self):
pl.plot(self.t1, self.n_A1, 'b--', label='A1: Time Step = 0.05')
pl.plot(self.t1, self.n_B1, 'b', label='B1: Time Step = 0.05')
pl.plot(self.t2, self.n_A2, 'g--', label='A2: Time Step = 0.1')
pl.plot(self.t2, self.n_B2, 'g', label='B2: Time Step = 0.1')
pl.plot(self.t1, self.n_A1_true, 'r--', label='True A1: Time Step = 0.05')
pl.plot(self.t1, self.n_B1_true, 'r', label='True B1: Time Step = 0.05')
pl.plot(self.t2, self.n_A2_true, 'c--', label='True A2: Time Step = 0.1')
pl.plot(self.t2, self.n_B2_true, 'c', label='True B2: Time Step = 0.1')
pl.title('Double Decay Probelm-Approximation Compared with True in Defferent Time Steps')
pl.xlim(0.0, 0.1)
pl.ylim(0.0, 100.0)
pl.xlabel('time ($s$)')
pl.ylabel('Number of Nuclei')
pl.legend(loc='best', shadow=True, fontsize='small')
pl.grid(True)
pl.savefig("computational_physics homework 4(improved-7).png")
7 code plus.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def show(self):
# pl.semilogy(self.theta, self.omega)
# , label = '$L =%.1f m, $'%self.l + '$dt = %.2f s, $'%self.dt + '$\\theta_0 = %.2f radians, $'%self.theta[0] + '$q = %i, $'%self.q + '$F_D = %.2f, $'%self.F_D + '$\\Omega_D = %.1f$'%self.Omega_D)
pl.plot(self.theta_phase ,self.omega_phase, '.', label = '$t \\approx 2\\pi n / \\Omega_D$')
pl.xlabel('$\\theta$ (radians)')
pl.ylabel('$\\omega$ (radians/s)')
pl.legend()
# pl.text(-1.4, 0.3, '$\\omega$ versus $\\theta$ $F_D = 1.2$', fontsize = 'x-large')
pl.title('Chaotic Regime')
# pl.show()
# pl.semilogy(self.time_array, self.delta)
# pl.legend(loc = 'upper center', fontsize = 'small')
# pl.xlabel('$time (s)$')
# pl.ylabel('$\\Delta\\theta (radians)$')
# pl.xlim(0, self.T)
# pl.ylim(float(input('ylim-: ')),float(input('ylim+: ')))
# pl.ylim(1E-11, 0.01)
# pl.text(4, -0.15, 'nonlinear pendulum - Euler-Cromer method')
# pl.text(10, 1E-3, '$\\Delta\\theta versus time F_D = 0.5$')
# pl.title('Simple Harmonic Motion')
pl.title('Chaotic Regime')
7 code.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 36
收藏 0
点赞 0
评论 0
def show(self):
# pl.semilogy(self.theta, self.omega)
# , label = '$L =%.1f m, $'%self.l + '$dt = %.2f s, $'%self.dt + '$\\theta_0 = %.2f radians, $'%self.theta[0] + '$q = %i, $'%self.q + '$F_D = %.2f, $'%self.F_D + '$\\Omega_D = %.1f$'%self.Omega_D)
pl.plot(self.time_array,self.delta)
# pl.show()
# pl.semilogy(self.time_array, self.delta)
# pl.legend(loc = 'upper center', fontsize = 'small')
# pl.xlabel('$time (s)$')
# pl.ylabel('$\\Delta\\theta (radians)$')
# pl.xlim(0, self.T)
# pl.ylim(float(input('ylim-: ')),float(input('ylim+: ')))
# pl.ylim(1E-11, 0.01)
# pl.text(4, -0.15, 'nonlinear pendulum - Euler-Cromer method')
# pl.text(10, 1E-3, '$\\Delta\\theta versus time F_D = 0.5$')
# pl.title('Simple Harmonic Motion')
# pl.title('Chaotic Regime')
6 code.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def show_simple(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 16,
}
pl.title('The Trajectory of Tageted Baseball\n with air flow in adiabatic model', fontdict = font)
pl.plot(self.x, self.y, label ='$\\alpha = %.0f \degree$'%self.alpha)
pl.xlabel('x $m$')
pl.ylabel('y $m$')
pl.xlim(0, 400)
pl.ylim(-100, 200)
pl.grid()
pl.legend(loc = 'upper right', shadow = True, fontsize = 'medium')
pl.text(5, -80, 'trojectories varing with angles of wind', fontdict = font)
pl.show()
5 code 1.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 42
收藏 0
点赞 0
评论 0
def show_results(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 14,
}
pl.plot(self.x, self.y, 'c', label='firing angle = 45°')
pl.title('The Trajectory of a Cannon Shell', fontdict = font)
pl.xlabel('x (k$m$)')
pl.ylabel('y ($km$)')
pl.xlim(0, 60)
pl.ylim(0, 20)
pl.grid(True)
pl.legend(loc='upper right', shadow=True, fontsize='large')
pl.text(41, 16, 'Only with air drag', fontdict = font)
pl.show()
5 code 2.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 23
收藏 0
点赞 0
评论 0
def show_results(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 12,
}
pl.plot(self.x, self.y, 'c', label='firing angle = 45°')
pl.title('The Trajectory of a Cannon Shell', fontdict = font)
pl.xlabel('x (k$m$)')
pl.ylabel('y ($km$)')
pl.xlim(0, 60)
pl.ylim(0, 20)
pl.grid(True)
pl.legend(loc='upper right', shadow=True, fontsize='large')
pl.text(34, 16, ' With both air drag and \n reduced air density-isothermal', fontdict = font)
pl.show()
5 code 4.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 32
收藏 0
点赞 0
评论 0
def show_results(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 12,
}
pl.plot(self.x, self.y, 'c', label='firing angle = 45°')
pl.title('The Trajectory of a Cannon Shell', fontdict = font)
pl.xlabel('x (k$m$)')
pl.ylabel('y ($km$)')
pl.xlim(0, 60)
pl.ylim(0, 20)
pl.grid(True)
pl.legend(loc='upper right', shadow=True, fontsize='large')
pl.text(34.5, 16, ' With air drag and the \n dependence of g on altitude', fontdict = font)
pl.show()
5 code 3.py 文件源码
项目:computational_physics_N2014301020117
作者: yukangnineteen
项目源码
文件源码
阅读 37
收藏 0
点赞 0
评论 0
def show_results(self):
font = {'family': 'serif',
'color': 'k',
'weight': 'normal',
'size': 12,
}
pl.plot(self.x, self.y, 'c', label='firing angle = 45°')
pl.title('The Trajectory of a Cannon Shell', fontdict = font)
pl.xlabel('x (k$m$)')
pl.ylabel('y ($km$)')
pl.xlim(0, 60)
pl.ylim(0, 20)
pl.grid(True)
pl.legend(loc='upper right', shadow=True, fontsize='large')
pl.text(34.5, 16, ' With both air drag and \n reduced air density-adiabatic', fontdict = font)
pl.show()
def main():
data = pd.read_table('../Real_Values.txt').get_values()
x = [float(d) for d in data]
test = np.array([669, 592, 664, 1005, 699, 401, 646, 472, 598, 681, 1126, 1260, 562, 491, 714, 530, 521, 687, 776, 802, 499, 536, 871, 801, 965, 768, 381, 497, 458, 699, 549, 427, 358, 219, 635, 756, 775, 969, 598, 630, 649, 722, 835, 812, 724, 966, 778, 584, 697, 737, 777, 1059, 1218, 848, 713, 884, 879, 1056, 1273, 1848, 780, 1206, 1404, 1444, 1412, 1493, 1576, 1178, 836, 1087, 1101, 1082, 775, 698, 620, 651, 731, 906, 958, 1039, 1105, 620, 576, 707, 888, 1052, 1072, 1357, 768, 986, 816, 889, 973, 983, 1351, 1266, 1053, 1879, 2085, 2419, 1880, 2045, 2212, 1491, 1378, 1524, 1231, 1577, 2459, 1848, 1506, 1589, 1386, 1111, 1180, 1075, 1595, 1309, 2092, 1846, 2321, 2036, 3587, 1637, 1416, 1432, 1110, 1135, 1233, 1439, 894, 628, 967, 1176, 1069, 1193, 1771, 1199, 888, 1155, 1254, 1403, 1502, 1692, 1187, 1110, 1382, 1808, 2039, 1810, 1819, 1408, 803, 1568, 1227, 1270, 1268, 1535, 873, 1006, 1328, 1733, 1352, 1906, 2029, 1734, 1314, 1810, 1540, 1958, 1420, 1530, 1126, 721, 771, 874, 997, 1186, 1415, 973, 1146, 1147, 1079, 3854, 3407, 2257, 1200, 734, 1051, 1030, 1370, 2422, 1531, 1062, 530, 1030, 1061, 1249, 2080, 2251, 1190, 756, 1161, 1053, 1063, 932, 1604, 1130, 744, 930, 948, 1107, 1161, 1194, 1366, 1155, 785, 602, 903, 1142, 1410, 1256, 742, 985, 1037, 1067, 1196, 1412, 1127, 779, 911, 989, 946, 888, 1349, 1124, 761, 994, 1068, 971, 1157, 1558, 1223, 782, 2790, 1835, 1444, 1098, 1399, 1255, 950, 1110, 1345, 1224, 1092, 1446, 1210, 1122, 1259, 1181, 1035, 1325, 1481, 1278, 769, 911, 876, 877, 950, 1383, 980, 705, 888, 877, 638, 1065, 1142, 1090, 1316, 1270, 1048, 1256, 1009, 1175, 1176, 870, 856, 860])
n_predict = 100
extrapolation = fourierExtrapolation(x, n_predict)
pl.figure()
pl.plot(np.arange(len(x), len(extrapolation) + len(x)), extrapolation, 'r', label = 'extrapolation')
pl.plot(x, 'b', label = 'Given Data', linewidth = 3)
pl.legend()
pl.ylabel('BPM')
pl.xlabel('Sample')
pl.title('Fourier Extrapolation')
pl.savefig('FourierExtrapolation.png')
#pl.show()
with open('Fourier_PredValues.txt', 'w') as out:
out.write(str([e for e in extrapolation]).strip('[]'))
def plot_clusters_pca(responsibilities, color_groups):
from sklearn.decomposition import RandomizedPCA
import pylab as pl
from random import shuffle
colors = list(colors_dict.values())
shuffle(colors)
pca = RandomizedPCA(n_components=2)
X = pca.fit_transform(responsibilities)
# print >>stderr, pca.explained_variance_ratio_
pl.figure()
pl.scatter(X[:, 0], X[:, 1], c="grey", label="unknown")
for c, sub, i in zip(colors, color_groups, count(0)):
pl.scatter(X[sub, 0], X[sub, 1], c=c, label=str(i))
pl.legend()
pl.title("PCA responsibility matrix")
pl.show()
def plot(func):
random_state = check_random_state(0)
one_core = []
multi_core = []
sample_sizes = range(1000, 6000, 1000)
for n_samples in sample_sizes:
X = random_state.rand(n_samples, 300)
start = time.time()
func(X, n_jobs=1)
one_core.append(time.time() - start)
start = time.time()
func(X, n_jobs=-1)
multi_core.append(time.time() - start)
pl.figure('scikit-learn parallel %s benchmark results' % func.__name__)
pl.plot(sample_sizes, one_core, label="one core")
pl.plot(sample_sizes, multi_core, label="multi core")
pl.xlabel('n_samples')
pl.ylabel('Time (s)')
pl.title('Parallel %s' % func.__name__)
pl.legend()
def _auto_plots(self,mode,filebasename,figdir,plotargs):
"""Generate standard plots and write png and and pdf. Chooses filename and plot title."""
import pylab
try:
os.makedirs(figdir)
except OSError,err:
if err.errno != errno.EEXIST:
raise
def figs(*args):
return os.path.join(figdir,*args)
modefilebasename = filebasename + self._suffix[mode]
_plotargs = plotargs.copy() # need a copy because of changing 'title'
if plotargs.get('title') is None: # None --> set automatic title
_plotargs['title'] = self._title[mode]+' '+self.legend
pylab.clf()
self.plot(**_plotargs)
pylab.savefig(figs(modefilebasename + '.png')) # png
pylab.savefig(figs(modefilebasename + '.pdf')) # pdf
print "--- Plotted %(modefilebasename)r (png,pdf)." % vars()
def plot(self,direction,legend=True,**kwargs):
"""Plot all distributions; colors are set automatically to kwargs[cmap]."""
import pylab
pnormalize = pylab.normalize(vmin=1,vmax=len(self.distribution[direction]))
kwargs.setdefault('alpha',1.0)
kwargs.setdefault('linewidth',4)
fmt = kwargs.pop('fmt','-')
cmap = kwargs.pop('cmap',pylab.cm.jet)
count = 0
for target,(hist,edges) in self.distribution[direction].items():
count += 1
midpoints = 0.5*(edges[1:] + edges[:-1])
kwargs['color'] = cmap(pnormalize(count))
pylab.plot(midpoints,hist,fmt,label="%s" % target,**kwargs)
if legend:
pylab.legend(loc='best',
prop=pylab.matplotlib.font_manager.FontProperties(size=6))
def plot(self, outpath=''):
pylab.figure(figsize = (17,10))
diff = self.f2-self.f3
pylab.subplot(2,1,1)
pylab.plot(range(self.lengthSeq), self.f2, 'r-', label = "f2")
pylab.plot(range(self.lengthSeq), self.f3, 'g-', label = "f3")
pylab.xlim([0., self.lengthSeq])
pylab.tick_params(axis='both', which='major', labelsize=25)
pylab.subplot(2,1,2)
diff2 = diff/self.f3
diff2 /= np.max(diff2)
pylab.plot(range(self.lengthSeq), diff2, 'b-', label = "Rescaled (by max) difference / f3")
pylab.xlabel("Temps (en images)", fontsize = 25)
pylab.tick_params(axis='both', which='major', labelsize=25)
pylab.xlim([0., self.lengthSeq])
#pylab.legend(loc= 2, prop = {'size':15})
pylab.savefig(outpath)
pylab.close()
def bootstrap_extradata(self, nBoot, extradataA, nbins = 20):
pops =[]
meanpop = [[] for i in data.cat]
pylab.figure(figsize = (14,14))
for i in xrange(min(4, len(extradataA))):
#pylab.subplot(2,2,i+1)
if i ==0:
pylab.title("Bootstrap on means", fontsize = 20.)
pop = extradataA[i]# & (self.GFP > 2000)]#
for index in xrange(nBoot):
newpop = np.random.choice(pop, size=len(pop), replace=True)
#meanpop[i].append(np.mean(newpop))
pops.append(newpop)
pylab.legend()
#pylab.title(cat[i])
pylab.xlabel("Angle(degree)", fontsize = 15)
pylab.xlim([0., 90.])
for i in xrange(len(extradataA)):
for j in xrange(i+1, len(extradataA)):
statT, pvalue = scipy.stats.ttest_ind(pops[i], pops[j], equal_var=False)
print "cat{0} & cat{1} get {2} ({3})".format(i,j, pvalue,statT)
pylab.savefig("/users/biocomp/frose/frose/Graphics/FINALRESULTS-diff-f3/mean_nBootstrap{0}_bins{1}_GFPsup{2}_FLO_{3}.png".format(nBoot, nbins, 'all', randint(0,999)))
def main():
# Read the example RT structure and RT dose files
# The testdata was downloaded from the dicompyler website as testdata.zip
# Obtain the structures and DVHs from the DICOM data
rtssfile = 'testdata/rtss.dcm'
rtdosefile = 'testdata/rtdose.dcm'
RTss = dicomparser.DicomParser(rtssfile)
#RTdose = dicomparser.DicomParser("testdata/rtdose.dcm")
RTstructures = RTss.GetStructures()
# Generate the calculated DVHs
calcdvhs = {}
for key, structure in RTstructures.iteritems():
calcdvhs[key] = dvhcalc.get_dvh(rtssfile, rtdosefile, key)
if (key in calcdvhs) and (len(calcdvhs[key].counts) and calcdvhs[key].counts[0]!=0):
print ('DVH found for ' + structure['name'])
pl.plot(calcdvhs[key].counts * 100/calcdvhs[key].counts[0],
color=dvhcalc.np.array(structure['color'], dtype=float) / 255,
label=structure['name'],
linestyle='dashed')
#else:
# print("%d: no DVH"%key)
pl.xlabel('Distance (cm)')
pl.ylabel('Percentage Volume')
pl.legend(loc=7, borderaxespad=-5)
pl.setp(pl.gca().get_legend().get_texts(), fontsize='x-small')
pl.savefig('testdata/dvh.png', dpi = 75)
def filters_legend(lp, filters): #, **kwa):
I = argsort_filters(filters)
#plt.legend([lp[i] for i in I], [filters[i] for i in I], **kwa)
return [lp[i] for i in I], [filters[i] for i in I]
def plotfitquality(H, xe, ye, A):
'''
H,xe,ye from plotalignment()
'''
import pylab as plt
xe /= 1000.
ye /= 1000.
xx = (xe[:-1] + xe[1:])/2.
yy = (ye[:-1] + ye[1:])/2.
XX,YY = np.meshgrid(xx, yy)
XX = XX.ravel()
YY = YY.ravel()
XY = np.vstack((XX,YY)).T
Mdist = np.sqrt(mahalanobis_distsq(XY, A.mu, A.C))
assert(len(H.ravel()) == len(Mdist))
mod = A.getModel(XX, YY)
R2 = XX**2 + YY**2
mod[R2 > (A.match.rad)**2] = 0.
mod *= (H.sum() / mod.sum())
plt.clf()
rng = (0, 7)
plt.hist(Mdist, 100, weights=H.ravel(), histtype='step', color='b', label='data', range=rng)
plt.hist(Mdist, 100, weights=mod, histtype='step', color='r', label='model', range=rng)
plt.xlabel('| Chi |')
plt.ylabel('Number of matches')
plt.title('Gaussian peak fit quality')
plt.legend(loc='upper right')
def plot_com(self):
pylab.plot(
[-p[1] for p in self.com_real], [p[0] for p in self.com_real],
'g-', lw=2)
pylab.plot(
[-p[1] for p in self.com_ref], [p[0] for p in self.com_ref],
'k--', lw=1)
pylab.legend(('$p_G$', '$p_G^{ref}$'), loc='upper right')
pylab.grid(False)
pylab.xlim(self.xlim)
pylab.ylim(self.ylim)
pylab.xlabel(self.xlabel)
pylab.ylabel(self.ylabel)
pylab.title("COM trajectory")
def plot_zmp(self):
pylab.plot(
[-p[1] for p in self.zmp_real], [p[0] for p in self.zmp_real],
'r-', lw=2)
pylab.plot(
[-p[1] for p in self.zmp_ref], [p[0] for p in self.zmp_ref],
'k--', lw=1)
pylab.legend(('$p_Z$', '$p_Z^{ref}$'), loc='upper right')
pylab.grid(False)
pylab.xlim(self.xlim)
pylab.ylim(self.ylim)
pylab.xlabel(self.xlabel)
pylab.ylabel(self.ylabel)
pylab.title("ZMP trajectory")
retirement.py 文件源码
项目:MITx-6.00.1x-Introduction-to-Computer-Science-and-Programming-Using-Python
作者: tiagomestreteixeira
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def displayRetirementWithMonthlies(monthlies, rate, terms):
plt.figure('retireMonth')
plt.clf()
for monthly in monthlies:
xvals, yvals = retire(monthly, rate, terms)
plt.plot(xvals, yvals, label='retire:' + str(monthly))
plt.legend(loc='upper left')
retirement.py 文件源码
项目:MITx-6.00.1x-Introduction-to-Computer-Science-and-Programming-Using-Python
作者: tiagomestreteixeira
项目源码
文件源码
阅读 30
收藏 0
点赞 0
评论 0
def displayRetirementWithRates(monthly, rates, terms):
plt.figure('retireRate')
plt.clf()
for rate in rates:
xvals, yvals = retire(monthly, rate, terms)
plt.plot(xvals, yvals,
label='retire:' + str(monthly) + ':' + str(int(rate * 100)))
plt.legend(loc='upper left')
retirement.py 文件源码
项目:MITx-6.00.1x-Introduction-to-Computer-Science-and-Programming-Using-Python
作者: tiagomestreteixeira
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def displayRetirementWithMonthsAndRates(monthlies, rates, terms):
plt.figure('retireBoth')
plt.clf()
plt.xlim(30 * 12, 40 * 12)
for monthly in monthlies:
for rate in rates:
xvals, yvals = retire(monthly, rate, terms)
plt.plot(xvals, yvals,
label='retire:' + str(monthly) + ':' + str(int(rate * 100)))
plt.legend(loc='upper left')
def zipf(self, message, users):
source_user = message.author.name
source_user = source_user.strip('@').split('#')[0]
target_users = [user.strip('@').split('#')[0] for user in users.split()]
if len(users) == 0:
target_users = [source_user]
if users == '*':
if message.server is not None:
target_users = [member.name for member in message.server.members]
target_users = [user for user in target_users if self.check_nickname_valid(user.lower()) is None]
image_file_name = self.quotes_file_name(source_user.lower())[:-4] + '.png'
pylab.title('Word frequencies')
for user in target_users:
quotes_file = codecs.open(self.quotes_file_name(user.lower()), 'r', encoding='utf-8')
lines = quotes_file.readlines()
quotes_file.close()
if len(lines) < 20:
continue
tokenizer = nltk.tokenize.RegexpTokenizer(r'\w+')
tokens = self.filter_to_english_words(tokenizer.tokenize(str(lines)))
if len(tokens) < 200:
continue
freq = nltk.FreqDist(tokens)
self.plot_word_frequencies(freq, user)
pylab.legend()
pylab.savefig(image_file_name)
pylab.gcf().clear()
await self.client.send_file(message.channel, image_file_name)
def create_plot_file(trajFile, plot_filename, plot_others=False, verbose = False):
"""
Creates plot to demonstrate performance of smarty or smirky
trajFile - csv file generated by smarty, smarty_elemental, or smirky
plot_filename - pdf to save plot file to
plot_others - if True plots data for all reftypes separately, optional
"""
data = pd.read_csv(trajFile, quotechar="'")
numerator = data.columns[-2].lower()
timeseries = load_trajectory(trajFile)
time_fractions = scores_vs_time(timeseries, numerator)
max_score = max(time_fractions['all']) *100.0
if verbose: print("Maximum score was %.1f %%" % max_score)
# plot overall score
pl.plot( time_fractions['all'], 'k-', linewidth = 2.0)
if plot_others:
reftypes = [k for k in time_fractions]
reftypes.remove('all')
# Plot scors for individual types
for reftype in reftypes:
pl.plot(time_fractions[reftype])
pl.legend(['all']+reftypes, loc='lower right')
pl.xlabel('Iterations')
pl.ylabel('Fraction of reference type found')
pl.ylim(-0.1, 1.1)
pl.savefig(plot_filename)
def smooth_curve(curve_data,N_smooth,exp_max=-1,shift_0=0,fix_first_nonzero=False,plotit=False,t='x for plot'):
"""
smoothens the curve data for plotting as good as possible while maintaining last and first value
curve data => np.array, 1D that should be smoothened out
N_smooth => number of points to smooth over (float)
exp_max => adjust exponential behavior for average (0='normal' moving average)
shift_0 => manually fix from where on smoothing is active, e.g. up till where no smootthing is applied
fix_first_nonzero => if set to true, then automatically determines shift_0 to be where the first nonzero entry is
plotit => plot results
t => x-cooordinate for plot
"""
a=curve_data
N=N_smooth
v=np.exp(np.linspace(exp_max, 0., N))
v=v/v.sum()
a_v=np.convolve(a,v,'same')
if fix_first_nonzero==True:
shift_0=np.nonzero(a != 0)[0][0]
for n in range(0,len(v)):
if n!=0:
v=np.exp(np.linspace(exp_max, 0., n))
v=v/v.sum()
a_v[n+shift_0]=np.convolve(a,v,'same')[n+shift_0]
a_v[len(a)-n-1]=np.convolve(a,v,'same')[len(a)-n-1]
else:
a_v[n+shift_0]=a[n+shift_0]
for i in range(0,n+shift_0):
a_v[i]=a[i]
a_v[len(a)-n-1]=a[len(a)-n-1]
if plotit:
try:
np.sin(t)
except:
t=np.linspace(0,len(curve_data),len(curve_data))
import pylab as plt
plt.plot(t,a,label='original data')
plt.plot(t,a_v,label='smoothened')
plt.legend(loc='best',fancybox=True)
plt.title('curve smoothing')
plt.show()
return a_v