From 2a4c7ff03859e788dfb79945104a3ddfa9cef0db Mon Sep 17 00:00:00 2001 From: Jan Benda Date: Tue, 27 Oct 2020 23:59:14 +0100 Subject: [PATCH] [all data analysis] plots work for old and new matplotlib --- bootstrap/lecture/bootstrapsem.py | 2 +- bootstrap/lecture/permutecorrelation.py | 8 +- likelihood/lecture/mlemean.py | 8 +- likelihood/lecture/mlepdf.py | 4 +- likelihood/lecture/mlepropline.py | 4 +- plotstyle.py | 2 +- pointprocesses/lecture/firingrates.py | 8 +- pointprocesses/lecture/isimethod.py | 6 +- .../lecture/pointprocessscetchA.eps | 105 +++---- .../lecture/pointprocessscetchA.pdf | Bin 2791 -> 2786 bytes .../lecture/pointprocessscetchB.eps | 260 ++++++------------ .../lecture/pointprocessscetchB.pdf | Bin 4724 -> 4694 bytes regression/lecture/gradient.py | 8 +- 13 files changed, 145 insertions(+), 270 deletions(-) diff --git a/bootstrap/lecture/bootstrapsem.py b/bootstrap/lecture/bootstrapsem.py index d8b0346..3a276bd 100644 --- a/bootstrap/lecture/bootstrapsem.py +++ b/bootstrap/lecture/bootstrapsem.py @@ -38,7 +38,7 @@ ax.annotate('sampling\ndistribution', connectionstyle="angle3,angleA=20,angleB=120") ) ax.annotate('bootstrap\ndistribution', xy=(0.13, 3.3), xycoords='data', - xytext=(0.25, 4), textcoords='data', + xytext=(0.22, 4), textcoords='data', arrowprops=dict(arrowstyle="->", relpos=(0.0,0.5), connectionstyle="angle3,angleA=20,angleB=60") ) ax.bar(bins[:-1]-0.25*db, hmusrs, 0.5*db, **fsB) diff --git a/bootstrap/lecture/permutecorrelation.py b/bootstrap/lecture/permutecorrelation.py index 2f10af8..c5f0db7 100644 --- a/bootstrap/lecture/permutecorrelation.py +++ b/bootstrap/lecture/permutecorrelation.py @@ -44,19 +44,19 @@ ax.annotate('Measured\ncorrelation\nis significant!', connectionstyle="angle3,angleA=10,angleB=80") ) ax.annotate('95% percentile', xy=(0.14, 0.9), xycoords='data', - xytext=(0.2, 4.0), textcoords='data', ha='left', + xytext=(0.18, 4.0), textcoords='data', ha='left', arrowprops=dict(arrowstyle="->", relpos=(0.1,0.0), - connectionstyle="angle3,angleA=30,angleB=70") ) + connectionstyle="angle3,angleA=30,angleB=80") ) ax.annotate('Distribution of\nuncorrelated\nsamples', xy=(-0.08, 3.6), xycoords='data', xytext=(-0.22, 5.0), textcoords='data', ha='left', arrowprops=dict(arrowstyle="->", relpos=(0.5,0.0), - connectionstyle="angle3,angleA=150,angleB=100") ) + connectionstyle="angle3,angleA=150,angleB=110") ) ax.bar(b[:-1], h, width=b[1]-b[0], **fsC) ax.bar(b[:-1][b[:-1]>=rq], h[b[:-1]>=rq], width=b[1]-b[0], **fsB) ax.plot( [rd, rd], [0, 1], **lsA) ax.set_xlim(-0.25, 0.35) ax.set_xlabel('Correlation coefficient') -ax.set_ylabel('Probability density of H0') +ax.set_ylabel('Prob. density of H0') plt.savefig('permutecorrelation.pdf') diff --git a/likelihood/lecture/mlemean.py b/likelihood/lecture/mlemean.py index 83b1bab..a1fb974 100644 --- a/likelihood/lecture/mlemean.py +++ b/likelihood/lecture/mlemean.py @@ -26,7 +26,7 @@ ax.set_ylim(-0.02, 0.85) ax.set_xticks(np.arange(0, 5)) ax.set_yticks(np.arange(0, 0.9, 0.2)) ax.set_xlabel('x') -ax.set_ylabel('Probability density') +ax.set_ylabel('Prob. density') s = 1 for mu in mus : r = 5.0*rng.rand()+2.0 @@ -35,11 +35,11 @@ for mu in mus : ax.annotate('', xy=(mu, 0.02), xycoords='data', xytext=(mu, 0.75), textcoords='data', arrowprops=dict(arrowstyle="->", relpos=(0.5,0.5), - connectionstyle=cs), zorder=1) + connectionstyle=cs), zorder=10) if mu > rmu : - ax.text(mu-0.1, 0.04, '?', zorder=1, ha='right') + ax.text(mu-0.1, 0.04, '?', zorder=10, ha='right') else : - ax.text(mu+0.1, 0.04, '?', zorder=1) + ax.text(mu+0.1, 0.04, '?', zorder=10) for k, ls in enumerate([lsCm, lsBm, lsDm]) : ax.plot(x, g[:,k], zorder=5, **ls) ax.plot(xd, 0.05*rng.rand(len(xd))+0.2, zorder=10, **psAm) diff --git a/likelihood/lecture/mlepdf.py b/likelihood/lecture/mlepdf.py index ddbcb57..3b1a851 100644 --- a/likelihood/lecture/mlepdf.py +++ b/likelihood/lecture/mlepdf.py @@ -29,7 +29,7 @@ ax1.set_ylim(0.0, 0.42) ax1.set_xticks(np.arange(0, 11, 2)) ax1.set_yticks(np.arange(0, 0.42, 0.1)) ax1.set_xlabel('x') -ax1.set_ylabel('Probability density') +ax1.set_ylabel('Prob. density') ax1.plot(xx, yy, label='pdf', **lsB) ax1.plot(xx, yf, label='mle', **lsCm) kernel = st.gaussian_kde(xd) @@ -54,7 +54,7 @@ ax2.set_xticks(np.arange(0, 11, 2)) ax2.set_xlabel('x') ax2.set_ylim(0.0, 0.42) ax2.set_yticks(np.arange(0, 0.42, 0.1)) -ax2.set_ylabel('Probability density') +ax2.set_ylabel('Prob. density') ax2.plot(xx, yy, label='pdf', **lsB) ax2.plot(xx, yc, label='fit', **lsCm) ax2.bar(b[:-1], h, np.diff(b), **fsA) diff --git a/likelihood/lecture/mlepropline.py b/likelihood/lecture/mlepropline.py index 906a3f2..cecd350 100644 --- a/likelihood/lecture/mlepropline.py +++ b/likelihood/lecture/mlepropline.py @@ -6,7 +6,7 @@ from plotstyle import * fig = plt.figure() spec = gridspec.GridSpec(nrows=1, ncols=2, wspace=0.3, - **adjust_fs(fig, left=5.5)) + **adjust_fs(fig, left=5.5, top=1)) spec1 = gridspec.GridSpecFromSubplotSpec(1, 2, spec[0, 0], width_ratios=[3, 1], wspace=0.0) spec2 = gridspec.GridSpecFromSubplotSpec(1, 2, spec[0, 1], width_ratios=[3, 1], wspace=0.0) @@ -34,7 +34,7 @@ ax.set_ylabel('y') ax.plot(x, y, label='data', zorder=10, **psAm) ax.plot(xx, yy, label='original', zorder=5, **lsB) ax.plot(xx, yf, label='fit', zorder=7, **lsCm) -ax.legend(loc='upper left', bbox_to_anchor=(0.0, 1.15)) +ax.legend(loc='upper left', bbox_to_anchor=(-0.05, 1.2)) ax = fig.add_subplot(spec1[0, 1]) ax.show_spines('l') diff --git a/plotstyle.py b/plotstyle.py index 729962d..7e3ba8c 100644 --- a/plotstyle.py +++ b/plotstyle.py @@ -277,7 +277,7 @@ def axis_label(label, unit=None): if not unit: return label elif xkcd_style: - return '%s / %s' % (label, unit) + return '%s/%s' % (label, unit) else: return '%s [%s]' % (label, unit) diff --git a/pointprocesses/lecture/firingrates.py b/pointprocesses/lecture/firingrates.py index b7029fa..087e7ee 100644 --- a/pointprocesses/lecture/firingrates.py +++ b/pointprocesses/lecture/firingrates.py @@ -149,7 +149,7 @@ def plot_comparison(spike_times, bin_width, sigma, max_t=30., dt=1e-4): ax1.show_spines('b') ax1.vlines(times[times < (100000*dt)], ymin=0, ymax=1, color=colors['blue'], lw=1.5) #ax1.set_ylabel('Spikes') - ax1.text(-0.105, 0.5, 'Spikes', transform=ax1.transAxes, + ax1.text(-0.13, 0.5, 'Spikes', transform=ax1.transAxes, rotation='vertical', va='center') ax1.set_xlim(2.5, 3.5) ax1.set_ylim(-0.2, 1) @@ -159,7 +159,7 @@ def plot_comparison(spike_times, bin_width, sigma, max_t=30., dt=1e-4): ax2.plot(time, inst_rate, color=colors['orange'], lw=2) ax2.text(1.0, 1.0, 'instantaneous rate', transform=ax2.transAxes, ha='right') #ax2.set_ylabel('Rate', 'Hz') - ax2.text(-0.105, 0.5, axis_label('Rate', 'Hz'), transform=ax2.transAxes, + ax2.text(-0.13, 0.5, axis_label('Rate', 'Hz'), transform=ax2.transAxes, rotation='vertical', va='center') ax2.set_xlim(2.5, 3.5) ax2.set_ylim(0, 300) @@ -170,7 +170,7 @@ def plot_comparison(spike_times, bin_width, sigma, max_t=30., dt=1e-4): ax3.plot(time, binn_rate, color=colors['orange'], lw=2) ax3.text(1.0, 1.0, 'binned rate', transform=ax3.transAxes, ha='right') #ax3.set_ylabel('Rate', 'Hz') - ax3.text(-0.105, 0.5, axis_label('Rate', 'Hz'), transform=ax3.transAxes, + ax3.text(-0.13, 0.5, axis_label('Rate', 'Hz'), transform=ax3.transAxes, rotation='vertical', va='center') ax3.set_xlim(2.5, 3.5) ax3.set_ylim(0, 300) @@ -182,7 +182,7 @@ def plot_comparison(spike_times, bin_width, sigma, max_t=30., dt=1e-4): ax4.text(1.0, 1.0, 'convolved rate', transform=ax4.transAxes, ha='right') ax4.set_xlabel('Time', 's') #ax4.set_ylabel('Rate', 'Hz') - ax4.text(-0.105, 0.5, axis_label('Rate', 'Hz'), transform=ax4.transAxes, + ax4.text(-0.13, 0.5, axis_label('Rate', 'Hz'), transform=ax4.transAxes, rotation='vertical', va='center') ax4.set_xlim(2.5, 3.5) ax4.set_xticks([2.5, 2.75, 3.0, 3.25, 3.5]) diff --git a/pointprocesses/lecture/isimethod.py b/pointprocesses/lecture/isimethod.py index 750b840..ef28b8f 100644 --- a/pointprocesses/lecture/isimethod.py +++ b/pointprocesses/lecture/isimethod.py @@ -31,7 +31,7 @@ def setup_axis(spikes_ax, rate_ax): spikes_ax.show_spines('') spikes_ax.set_yticks([]) spikes_ax.set_ylim(-0.2, 1.0) - spikes_ax.text(-0.1, 0.5, 'Spikes', transform=spikes_ax.transAxes, rotation='vertical', va='center') + spikes_ax.text(-0.11, 0.5, 'Spikes', transform=spikes_ax.transAxes, rotation='vertical', va='center') spikes_ax.set_xlim(-1, 500) spikes_ax.set_xticklabels([]) #spikes_ax.set_xticklabels(np.arange(0., 600, 100)) @@ -39,7 +39,7 @@ def setup_axis(spikes_ax, rate_ax): spikes_ax.show_spines('lb') rate_ax.set_xlabel('Time', 'ms') #rate_ax.set_ylabel('Firing rate', 'Hz') - rate_ax.text(-0.1, 0.5, axis_label('Rate', 'Hz'), transform=rate_ax.transAxes, + rate_ax.text(-0.11, 0.5, axis_label('Rate', 'Hz'), transform=rate_ax.transAxes, rotation='vertical', va='center') rate_ax.set_xlim(0, 500) #rate_ax.set_xticklabels(np.arange(0., 600, 100)) @@ -126,7 +126,7 @@ def plot_isi_method(): t_start = 1000*spike_times[i-1] t = 1000*spike_times[i] spikes_ax.plot([t_start, t_start], [0., 1.], color=colors['blue'], lw=2) - spikes_ax.annotate(s='', xy=(t_start, 0.5), xytext=(t,0.5), arrowprops=dict(arrowstyle='<->'), color=colors['red']) + spikes_ax.annotate('', xy=(t_start, 0.5), xytext=(t,0.5), arrowprops=dict(arrowstyle='<->'), color=colors['red']) spikes_ax.text(0.5*(t_start+t), 1.05, "{0:.0f}".format((t - t_start)), color=colors['red'], ha='center') diff --git a/pointprocesses/lecture/pointprocessscetchA.eps b/pointprocesses/lecture/pointprocessscetchA.eps index 2c18dd1..2383569 100644 --- a/pointprocesses/lecture/pointprocessscetchA.eps +++ b/pointprocesses/lecture/pointprocessscetchA.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: pointprocessscetchA.tex -%%Creator: gnuplot 5.0 patchlevel 5 -%%CreationDate: Tue Jan 7 10:05:37 2020 +%%Creator: gnuplot 4.6 patchlevel 4 +%%CreationDate: Tue Oct 27 23:58:04 2020 %%DocumentFonts: %%BoundingBox: 50 50 373 135 %%EndComments @@ -18,7 +18,6 @@ gnudict begin /Dashlength 1 def /Landscape false def /Level1 false def -/Level3 false def /Rounded true def /ClipToBoundingBox false def /SuppressPDFMark false def @@ -30,11 +29,11 @@ gnudict begin % /vshift -73 def /dl1 { - 10.0 Dashlength userlinewidth gnulinewidth div mul mul mul + 10.0 Dashlength mul mul Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if } def /dl2 { - 10.0 Dashlength userlinewidth gnulinewidth div mul mul mul + 10.0 Dashlength mul mul Rounded { currentlinewidth 0.75 mul add } if } def /hpt_ 31.5 def @@ -48,7 +47,7 @@ gnudict begin } if } def % -% Gnuplot Prolog Version 5.1 (Oct 2015) +% Gnuplot Prolog Version 4.6 (September 2012) % %/SuppressPDFMark true def % @@ -65,11 +64,11 @@ gnudict begin /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow {currentpoint stroke M 0 vshift R - Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R - Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R - Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def /DL {Color {setrgbcolor Solid {pop []} if 0 setdash} @@ -83,7 +82,7 @@ gnudict begin /PL {stroke userlinewidth setlinewidth Rounded {1 setlinejoin 1 setlinecap} if} def 3.8 setmiterlimit -% Classic Line colors (version 5.0) +% Default Line colors /LCw {1 1 1} def /LCb {0 0 0} def /LCa {0 0 0} def @@ -96,21 +95,19 @@ gnudict begin /LC6 {0 0 0} def /LC7 {1 0.3 0} def /LC8 {0.5 0.5 0.5} def -% Default dash patterns (version 5.0) -/LTB {BL [] LCb DL} def +% Default Line Types /LTw {PL [] 1 setgray} def -/LTb {PL [] LCb DL} def +/LTb {BL [] LCb DL} def /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def /LT0 {PL [] LC0 DL} def -/LT1 {PL [2 dl1 3 dl2] LC1 DL} def -/LT2 {PL [1 dl1 1.5 dl2] LC2 DL} def -/LT3 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC3 DL} def -/LT4 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def -/LT5 {PL [4 dl1 2 dl2] LC5 DL} def -/LT6 {PL [1.5 dl1 1.5 dl2 1.5 dl1 1.5 dl2 1.5 dl1 6 dl2] LC6 DL} def -/LT7 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC7 DL} def -/LT8 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC8 DL} def -/SL {[] 0 setdash} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def /Dia {stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V @@ -332,14 +329,9 @@ gnudict begin % /languagelevel where {pop languagelevel} {1} ifelse -dup 2 lt - {/InterpretLevel1 true def - /InterpretLevel3 false def} - {/InterpretLevel1 Level1 def - 2 gt - {/InterpretLevel3 Level3 def} - {/InterpretLevel3 false def} - ifelse } + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} ifelse % % PostScript level 2 pattern fill definitions @@ -428,7 +420,6 @@ Level1 {Level1PatternFill} {Level2PatternFill} ifelse /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop -% Level1 SuppressPDFMark or {} { /SDict 10 dict def @@ -438,42 +429,14 @@ systemdict /pdfmark known not { SDict begin [ /Title (pointprocessscetchA.tex) /Subject (gnuplot plot) - /Creator (gnuplot 5.0 patchlevel 5) - /Author (benda) + /Creator (gnuplot 4.6 patchlevel 4) + /Author (jan) % /Producer (gnuplot) % /Keywords () - /CreationDate (Tue Jan 7 10:05:37 2020) + /CreationDate (Tue Oct 27 23:58:04 2020) /DOCINFO pdfmark end } ifelse -% -% Support for boxed text - Ethan A Merritt May 2005 -% -/InitTextBox { userdict /TBy2 3 -1 roll put userdict /TBx2 3 -1 roll put - userdict /TBy1 3 -1 roll put userdict /TBx1 3 -1 roll put - /Boxing true def } def -/ExtendTextBox { Boxing - { gsave dup false charpath pathbbox - dup TBy2 gt {userdict /TBy2 3 -1 roll put} {pop} ifelse - dup TBx2 gt {userdict /TBx2 3 -1 roll put} {pop} ifelse - dup TBy1 lt {userdict /TBy1 3 -1 roll put} {pop} ifelse - dup TBx1 lt {userdict /TBx1 3 -1 roll put} {pop} ifelse - grestore } if } def -/PopTextBox { newpath TBx1 TBxmargin sub TBy1 TBymargin sub M - TBx1 TBxmargin sub TBy2 TBymargin add L - TBx2 TBxmargin add TBy2 TBymargin add L - TBx2 TBxmargin add TBy1 TBymargin sub L closepath } def -/DrawTextBox { PopTextBox stroke /Boxing false def} def -/FillTextBox { gsave PopTextBox 1 1 1 setrgbcolor fill grestore /Boxing false def} def -0 0 0 0 InitTextBox -/TBxmargin 20 def -/TBymargin 20 def -/Boxing false def -/textshow { ExtendTextBox Gshow } def -% -% redundant definitions for compatibility with prologue.ps older than 5.0.2 -/LTB {BL [] LCb DL} def -/LTb {PL [] LCb DL} def end %%EndProlog %%Page: 1 1 @@ -487,9 +450,10 @@ newpath 2.000 UL LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 1.000 UP +LTb LCb setrgbcolor +LTb 1.000 UL LTb gsave 6208 824 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill @@ -503,11 +467,9 @@ gsave 6208 824 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill stroke 2.000 UL LTb -0.00 0.00 0.00 C % Begin plot #1 -10.000 UL -LTb -LCb setrgbcolor -[] 0 setdash +0.00 0.00 0.00 C 10.000 UL +LT0 +LC0 setrgbcolor 0.00 0.00 0.00 C 910 573 M 0 503 V 1412 573 M @@ -526,16 +488,11 @@ LCb setrgbcolor 0 503 V 5685 573 M 0 503 V +1.000 UP stroke -LTw -% End plot #1 2.000 UL LTb LCb setrgbcolor -[] 0 setdash -1.000 UP -2.000 UL -LTb 0.00 0.00 0.00 C stroke grestore end diff --git a/pointprocesses/lecture/pointprocessscetchA.pdf b/pointprocesses/lecture/pointprocessscetchA.pdf index 0d2f26e462a4016a4e9921b47de8cd85e74860e4..59b05836210d0388b698c5ca52f9fff0e76a8257 100644 GIT binary patch delta 810 zcmaDZ`bd;RHNeG9*HF)VB8Nl0BNvk)kL!0!SHFPUOHN)9=4j$RuFS!A;*3*lMeTB5 ziPvFXFaQ5n-Ot~nn7HQn{nt#p3lF?x)jj&0WlqwuIUM4X_k_<0Uuo%aI$eI@rjyg| zIeg%i;hLxLuyAjAzAXR$?UVk!iL78;Ri7%jWKs6vOIr$JXcQV;ADkmG7o12*@>Y5rPo9G%ErkUv)0D-Q7X`-=lN>YkJs=49hSIj<)W|QUF z)QD2uz~aDXXrOCk9%5u{Wolt%U^@96i>|PLvTlh&h>^LKf{_(i+{$D!AFGaliJqB4 zL1IaAMowy3YL0@*WG_~CqU_ni>Oqt`V%?p=c7{1CF>kXadq1O#nI@OMb5UwyNoIbY zOJYf?Mo4L@f`4*}f|0ob)LSMBMg~R(Ky|+PDPScoRv-aG10!=IV^a&Dw|O|NFufPX zsR*)Wat)`Ut*HViuniRQ6u7_)10y2?GjuTn6D(pz=4O*$ajM&zW2iPYvcwcKH^3CL zw4Ch6WfSY>>TGV}Y~*YSG}6+=(9zk=)y3Jx)x^Tk+1%C4z}3!%po&;7J3Fr8lEk8t UilWpsE+Z3TV=h%ySARDy0FFcO{r~^~ delta 787 zcmaDP`dpMlHNeG9*HF)NB8Nl0H{T%x9+&TSt^NWz&o37+E%DOH=x=aQy`tB^dR@J9 ztA(8g6wQsl`(|sI zs!gd{c5O!g&h)I_qi?F0h0PTBJ~yqm@}-CAwC4(c`=U~fV;(RciU{YK_(7V{cry=U zH6xJfV6tOWPBKX`Of@mrHM2Ca)HO6rGu1T!0$l_1loVrwBp{JuF!?3352L|kIW{$- zRM)dO@EI5aO$aeGure^UGB%%lmPJ?CD^WL3Aw-opV7rYlS|*ZC^fMpGe6HI zu_RR^q%>8*D=|+&!CV36F$E(7Bak}Z{1mVf7b}o}fuVu9p@D%Z(Bqt(R+t_P=2V1O zG`XD9P}58S6yOF5c?w)$hJlfhfhD?_fr)|n|$hYXklh(YGPz$Y+-5PYHnvkP(>`4ogG(k YNn%k+MNw)RmywCF1(&L-tG^o;03ea@MgRZ+ diff --git a/pointprocesses/lecture/pointprocessscetchB.eps b/pointprocesses/lecture/pointprocessscetchB.eps index 83c9cea..d55c96f 100644 --- a/pointprocesses/lecture/pointprocessscetchB.eps +++ b/pointprocesses/lecture/pointprocessscetchB.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: pointprocessscetchB.tex -%%Creator: gnuplot 5.0 patchlevel 5 -%%CreationDate: Tue Jan 7 10:05:38 2020 +%%Creator: gnuplot 4.6 patchlevel 4 +%%CreationDate: Tue Oct 27 23:58:04 2020 %%DocumentFonts: %%BoundingBox: 50 50 373 237 %%EndComments @@ -18,7 +18,6 @@ gnudict begin /Dashlength 1 def /Landscape false def /Level1 false def -/Level3 false def /Rounded true def /ClipToBoundingBox false def /SuppressPDFMark false def @@ -30,11 +29,11 @@ gnudict begin % /vshift -73 def /dl1 { - 10.0 Dashlength userlinewidth gnulinewidth div mul mul mul + 10.0 Dashlength mul mul Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if } def /dl2 { - 10.0 Dashlength userlinewidth gnulinewidth div mul mul mul + 10.0 Dashlength mul mul Rounded { currentlinewidth 0.75 mul add } if } def /hpt_ 31.5 def @@ -48,7 +47,7 @@ gnudict begin } if } def % -% Gnuplot Prolog Version 5.1 (Oct 2015) +% Gnuplot Prolog Version 4.6 (September 2012) % %/SuppressPDFMark true def % @@ -65,11 +64,11 @@ gnudict begin /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow {currentpoint stroke M 0 vshift R - Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R - Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R - Blacktext {gsave 0 setgray textshow grestore} {textshow} ifelse} def + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def /DL {Color {setrgbcolor Solid {pop []} if 0 setdash} @@ -83,7 +82,7 @@ gnudict begin /PL {stroke userlinewidth setlinewidth Rounded {1 setlinejoin 1 setlinecap} if} def 3.8 setmiterlimit -% Classic Line colors (version 5.0) +% Default Line colors /LCw {1 1 1} def /LCb {0 0 0} def /LCa {0 0 0} def @@ -96,21 +95,19 @@ gnudict begin /LC6 {0 0 0} def /LC7 {1 0.3 0} def /LC8 {0.5 0.5 0.5} def -% Default dash patterns (version 5.0) -/LTB {BL [] LCb DL} def +% Default Line Types /LTw {PL [] 1 setgray} def -/LTb {PL [] LCb DL} def +/LTb {BL [] LCb DL} def /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def /LT0 {PL [] LC0 DL} def -/LT1 {PL [2 dl1 3 dl2] LC1 DL} def -/LT2 {PL [1 dl1 1.5 dl2] LC2 DL} def -/LT3 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC3 DL} def -/LT4 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def -/LT5 {PL [4 dl1 2 dl2] LC5 DL} def -/LT6 {PL [1.5 dl1 1.5 dl2 1.5 dl1 1.5 dl2 1.5 dl1 6 dl2] LC6 DL} def -/LT7 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC7 DL} def -/LT8 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC8 DL} def -/SL {[] 0 setdash} def +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def /Dia {stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V @@ -332,14 +329,9 @@ gnudict begin % /languagelevel where {pop languagelevel} {1} ifelse -dup 2 lt - {/InterpretLevel1 true def - /InterpretLevel3 false def} - {/InterpretLevel1 Level1 def - 2 gt - {/InterpretLevel3 Level3 def} - {/InterpretLevel3 false def} - ifelse } + 2 lt + {/InterpretLevel1 true def} + {/InterpretLevel1 Level1 def} ifelse % % PostScript level 2 pattern fill definitions @@ -428,7 +420,6 @@ Level1 {Level1PatternFill} {Level2PatternFill} ifelse /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall currentdict end definefont pop -% Level1 SuppressPDFMark or {} { /SDict 10 dict def @@ -438,42 +429,14 @@ systemdict /pdfmark known not { SDict begin [ /Title (pointprocessscetchB.tex) /Subject (gnuplot plot) - /Creator (gnuplot 5.0 patchlevel 5) - /Author (benda) + /Creator (gnuplot 4.6 patchlevel 4) + /Author (jan) % /Producer (gnuplot) % /Keywords () - /CreationDate (Tue Jan 7 10:05:38 2020) + /CreationDate (Tue Oct 27 23:58:04 2020) /DOCINFO pdfmark end } ifelse -% -% Support for boxed text - Ethan A Merritt May 2005 -% -/InitTextBox { userdict /TBy2 3 -1 roll put userdict /TBx2 3 -1 roll put - userdict /TBy1 3 -1 roll put userdict /TBx1 3 -1 roll put - /Boxing true def } def -/ExtendTextBox { Boxing - { gsave dup false charpath pathbbox - dup TBy2 gt {userdict /TBy2 3 -1 roll put} {pop} ifelse - dup TBx2 gt {userdict /TBx2 3 -1 roll put} {pop} ifelse - dup TBy1 lt {userdict /TBy1 3 -1 roll put} {pop} ifelse - dup TBx1 lt {userdict /TBx1 3 -1 roll put} {pop} ifelse - grestore } if } def -/PopTextBox { newpath TBx1 TBxmargin sub TBy1 TBymargin sub M - TBx1 TBxmargin sub TBy2 TBymargin add L - TBx2 TBxmargin add TBy2 TBymargin add L - TBx2 TBxmargin add TBy1 TBymargin sub L closepath } def -/DrawTextBox { PopTextBox stroke /Boxing false def} def -/FillTextBox { gsave PopTextBox 1 1 1 setrgbcolor fill grestore /Boxing false def} def -0 0 0 0 InitTextBox -/TBxmargin 20 def -/TBymargin 20 def -/Boxing false def -/textshow { ExtendTextBox Gshow } def -% -% redundant definitions for compatibility with prologue.ps older than 5.0.2 -/LTB {BL [] LCb DL} def -/LTb {PL [] LCb DL} def end %%EndProlog %%Page: 1 1 @@ -487,9 +450,10 @@ newpath 2.000 UL LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 1.000 UP +LTb LCb setrgbcolor +LTb 1.000 UL LTb gsave 6208 3165 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill @@ -503,11 +467,9 @@ gsave 6208 3165 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill stroke 2.000 UL LTb -0.00 0.00 0.00 C % Begin plot #1 -10.000 UL -LTb -LCb setrgbcolor -[] 0 setdash +0.00 0.00 0.00 C 10.000 UL +LT0 +LC0 setrgbcolor 0.00 0.00 0.00 C 910 3029 M 0 272 V 502 -272 R @@ -526,22 +488,18 @@ LCb setrgbcolor 0 272 V 5685 3029 M 0 272 V +1.000 UP stroke -LTw -% End plot #1 2.000 UL LTb LCb setrgbcolor -[] 0 setdash -1.000 UP -2.000 UL -LTb 0.00 0.00 0.00 C 2.000 UL LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 1.000 UP +LTb LCb setrgbcolor +LTb 1.000 UL LTb gsave 6208 2043 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill @@ -552,86 +510,76 @@ gsave 6208 2043 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill 0 -32 V -5680 0 R 5680 0 V -stroke 1291 1929 M 121 32 V -121 32 V --260 0 R -910 1961 L -121 -32 V --121 32 R +-260 -64 R +-121 32 V +121 32 V +910 1961 M 502 0 V -stroke -2002 1929 M +590 -32 R 121 32 V -121 32 V --469 0 R --121 -32 V -121 -32 V --121 32 R +-469 -64 R +-121 32 V +121 32 V +-121 -32 R 711 0 V -stroke -2329 1939 M +206 -22 R 84 22 V -84 22 V --122 0 R --84 -22 V -84 -22 V --84 22 R +-122 -44 R +-84 22 V +84 22 V +-84 -22 R 290 0 V -stroke -2629 1938 M +216 -23 R 88 23 V -88 23 V --128 0 R --88 -23 V -88 -23 V --88 23 R +-128 -46 R +-88 23 V +88 23 V +-88 -23 R 304 0 V -stroke -3046 1929 M +329 -32 R 121 32 V -121 32 V --208 0 R --121 -32 V -121 -32 V --121 32 R +-208 -64 R +-121 32 V +121 32 V +-121 -32 R 450 0 V -stroke -3912 1929 M +745 -32 R 121 32 V -121 32 V --624 0 R --121 -32 V -121 -32 V --121 32 R +-624 -64 R +-121 32 V +121 32 V +-121 -32 R 866 0 V -stroke -4529 1929 M +496 -32 R 121 32 V -121 32 V --375 0 R --121 -32 V -121 -32 V --121 32 R +-375 -64 R +-121 32 V +121 32 V +-121 -32 R 617 0 V -stroke -5564 1929 M +914 -32 R 121 32 V -121 32 V --793 0 R --121 -32 V -121 -32 V --121 32 R +-793 -64 R +-121 32 V +121 32 V +-121 -32 R 1035 0 V stroke 2.000 UL LTb -0.00 0.00 0.00 C % Begin plot #1 -10.000 UL -LTb -LCb setrgbcolor -[] 0 setdash +0.00 0.00 0.00 C 10.000 UL +LT0 +LC0 setrgbcolor 0.00 0.00 0.00 C 910 1907 M 0 272 V 502 -272 R @@ -650,60 +598,47 @@ LCb setrgbcolor 0 272 V 5685 1907 M 0 272 V +1.000 UP stroke -LTw -% End plot #1 2.000 UL LTb LCb setrgbcolor -[] 0 setdash -1.000 UP -2.000 UL -LTb 0.00 0.00 0.00 C 2.000 UL LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 528 268 M -63 0 V stroke LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 528 460 M -63 0 V stroke LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 528 652 M -63 0 V stroke LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 528 844 M -63 0 V stroke LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 528 1036 M -63 0 V stroke LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 528 1228 M -63 0 V stroke LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 2.000 UL LTb LCb setrgbcolor -[] 0 setdash 0.00 0.00 0.00 C 528 1276 M 528 220 L 5801 0 R @@ -711,7 +646,9 @@ LCb setrgbcolor -5801 0 R 1.000 UP stroke +LTb LCb setrgbcolor +LTb 1.000 UL LTb gsave 6208 268 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill @@ -725,11 +662,9 @@ gsave 6208 268 N 0 -32 V 121 32 V -121 32 V 0 -32 V 1 PolyFill stroke 2.000 UL LTb -0.00 0.00 0.00 C % Begin plot #1 -3.000 UL -LTb -LCb setrgbcolor -[] 0 setdash +0.00 0.00 0.00 C 3.000 UL +LT0 +LC0 setrgbcolor 0.00 0.00 0.00 C 528 268 M 382 0 V 0 96 R @@ -750,15 +685,11 @@ LCb setrgbcolor 1035 0 V 0 96 R 533 0 V -stroke -LTw -% End plot #1 -% Begin plot #2 1.500 UP +stroke 2.000 UL -LTb -LCb setrgbcolor -[] 0 setdash +LT0 +LC0 setrgbcolor 0.00 0.00 0.00 C 910 268 CircleF 1412 364 CircleF 2123 460 CircleF @@ -768,14 +699,10 @@ LCb setrgbcolor 4033 844 CircleF 4650 940 CircleF 5685 1036 CircleF -LTw -% End plot #2 -% Begin plot #3 1.000 UP 2.000 UL -LTb -LCb setrgbcolor -[] 0 setdash +LT0 +LC0 setrgbcolor 1.00 1.00 1.00 C 910 268 CircleF 1412 364 CircleF 2123 460 CircleF @@ -785,14 +712,10 @@ LCb setrgbcolor 4033 844 CircleF 4650 940 CircleF 5685 1036 CircleF -LTw -% End plot #3 -% Begin plot #4 1.500 UP 2.000 UL -LTb -LCb setrgbcolor -[] 0 setdash +LT0 +LC0 setrgbcolor 0.00 0.00 0.00 C 910 364 CircleF 1412 460 CircleF 2123 556 CircleF @@ -802,15 +725,10 @@ LCb setrgbcolor 4033 940 CircleF 4650 1036 CircleF 5685 1132 CircleF -LTw -% End plot #4 -2.000 UL -LTb -LCb setrgbcolor -[] 0 setdash 1.000 UP 2.000 UL LTb +LCb setrgbcolor 0.00 0.00 0.00 C stroke grestore end diff --git a/pointprocesses/lecture/pointprocessscetchB.pdf b/pointprocesses/lecture/pointprocessscetchB.pdf index c9d4fdc275aa3c4d1b9798e3f43881ce482548d7..205565805ff79bbb04692d7dda387c0c89c38943 100644 GIT binary patch delta 2722 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 E8$hwZWB>pF delta 2788 zcmb7DX*kq-8=g7VFpMZA%akU>OTxjb zRrqZoiTS97xfVXHal7bG&0NziiLY&aBb4f-`wk3kzqpswi`nO1b`+KjD*6Vh+i4Aj z9|?N?f|{l`)*To?if%Awi!Vt&3)RSl-eZfK_s97)5yX=t{wCg|*GjPFGjyO~4<22n z3S-wBP=mAlVkZSwTk{QT1nN7Y9~`|Sw9yw^O5DztJ0H5f?m@kp*@;!6+_$(Quy`V3 zbbZF}6Iws$J$LTq&L>sL$kM9nu&J?B%6S%NWkGaH2Rr%rPl?3@^P5+B?<6ga7Ecq5 z(o|0%!eSKeHHCO2abhRaVRaJ8OxMY9X*qBPk)zG{r z%VrQcB|%>6^ySL8jS<ndi#M_Kxx7CKc=S96a4~y%r z)4~ggj8%9kuhiGh z!DNnap<96~*=bBcU9)eFYnzo%B(kdCLs|8Ed-hFx^65D+xp*RTiofPXDXZCBn%OFzydczKrj6K= zqzkh>I@&gFUKGpSVBCou^{=4%X7rgzJqa(-9QRk>$=w>{ZK%5U=T{D|!0D*Jaw>@u zzHZBiqMK*VsnzzGjF$&$cY7Hh>+bQ2=I*E_xMi{*`%4du4R!a_enG5QJ|3Ujc(=KV zT`bhyywu6dy(Hq>@!r8$%H%h8(r~rI=eN2a_fNHS_My<{^TU_IPuugTYIb^#Bt}ja zX7XxxcG@!%Bj_zi?*)xfp2x>E@MN@tA3q&0isNEtrM(cIHgsWLEE}{O4O$5nN^R^j zR*)`&#d7EL(^aeS?-_seG!DsvGlDiNv=kL#<;9z?!ByXj>Jsu)SP&%=bHhN(sCCt z7chC2m$$yOOo-haXi439aMt83FDVOdvG8!KP-`s5hKgV6Z&#xg7kl0atd8Bir1oMH_4g z9FEUiNo5|IYDUj`(E{M}!@XxX_i=AQ3T$ug)KqF+pU2I;so7PkU>miG>WJ~V*SY)f zTh!S)vr=UrzvzwZEXr^Sy%GO~GJcpVzv8M8S9 zSV-b(m0f`KPHssbYh?a%t(iSj`hG?XK^;7x0m-P?AE0XGq0HN5c>{ zOOX#f+TphzaWpB+KkPzX{#uJIyIYK*<~7n8K2gkuBueIkC;jm?s;nD^4j27Tr&QmC z`=<}9>nLYnzDW!?L?{}{4rCHx<)+>^%5X_&0kQVoNh4Ewni}$H2z&CBsapuaptUTG z+356^r1dcy`SP$*ZE_T&h2>n;0^V0{(qcbcI1*v>6+F5?Uv#18?JEi&rT$V>3x=1Q zj2`1CP7w+o9L!R$rm#E1`&+1yS8PgpTO>oE*n^?xtl-V&Djx}+r97{*kFx5NW@xX{ z)COtg4__6`l?r-CbEC`jeWg=i*Bl`ykCw`Y?3wg|20r9@Eu7Z~Ib}gAfG3ouL9m(Dk!nT^~vD-T~S_+r8h{!LXUJQ zmLa>8Fy*hz2ZMD%5&iNY2bsf#+XdK3NlrqHTa;q#Hb>usT1M6Pg{P=cY3+^*@3K@! zcG<}0HD^3XbH|W>Q|bamXOK2WwpQ{ZQ0>*~TizF5S6HYhF%*BhFsSM&*577W79@X>f2@TUWG+4;!=!ALc_>`^i7 zfq$0s{Jt!IR{U~#UWXju5gbAxyZVdlc7bj_BAPG&_N}6j0H%g290dlWYqt03f|cCJ zST~G24xvfF5D-Y@B`gBieFz*GgY)nJP-J&3A>B#Tj1N%ONS_cp`cwQ>QIa@-L;yHz zBtQhPL^M8KUko92#uX6&vxeb_FeLFiPQ<6jiK#=eCjeNGYlyp-A32Qd2g9Z}ik