[statistics] simplified plots, part 2
This commit is contained in:
parent
d1c8112030
commit
999a3003a6
@ -29,8 +29,8 @@ colors['black'] = '#000000'
|
||||
#colors_bendalab_vivid['blue'] = '#0020C0'
|
||||
|
||||
# line styles for plot():
|
||||
lwthick = 4.0
|
||||
lwthin = 2.0
|
||||
lwthick = 3.0
|
||||
lwthin = 1.8
|
||||
fillalpha = 0.5
|
||||
|
||||
# helper lines:
|
||||
|
@ -1,19 +1,14 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from plotstyle import *
|
||||
|
||||
rng = np.random.RandomState(981)
|
||||
x = rng.randn( 40, 10 )
|
||||
|
||||
plt.xkcd()
|
||||
fig = plt.figure( figsize=(6,3.4) )
|
||||
ax = fig.add_subplot( 1, 1, 1 )
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
fig, ax = plt.subplots()
|
||||
ax.set_xlabel('Experiment')
|
||||
ax.set_ylabel('x')
|
||||
ax.set_ylim( -4.0, 4.0)
|
||||
ax.set_ylim(-4.0, 4.0)
|
||||
ax.annotate('Median',
|
||||
xy=(3.9, 0.0), xycoords='data',
|
||||
xytext=(3.5, -2.7), textcoords='data', ha='right',
|
||||
@ -39,8 +34,6 @@ ax.annotate('maximum',
|
||||
xytext=(4.9, 3.5), textcoords='data', ha='right',
|
||||
arrowprops=dict(arrowstyle="->", relpos=(1.0,0.5),
|
||||
connectionstyle="angle3,angleA=0,angleB=120") )
|
||||
ax.boxplot( x, whis=100.0 )
|
||||
plt.tight_layout()
|
||||
ax.boxplot(x, whis=100.0)
|
||||
plt.savefig('boxwhisker.pdf')
|
||||
#plt.show()
|
||||
|
||||
|
@ -1,33 +1,30 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.gridspec as gridspec
|
||||
from plotstyle import *
|
||||
|
||||
plt.xkcd()
|
||||
fig = plt.figure( figsize=(6,4.6) )
|
||||
fig = plt.figure(figsize=cm_size(figure_width, 1.5*figure_height))
|
||||
spec = gridspec.GridSpec(nrows=2, ncols=2, wspace=0.35, hspace=0.35,
|
||||
**adjust_fs(fig, left=5.5, top=0.5, bottom=2.7))
|
||||
rng = np.random.RandomState(2981)
|
||||
n = 200
|
||||
for k, r in enumerate( [ 1.0, 0.6, 0.0, -0.9 ] ) :
|
||||
x = rng.randn( n )
|
||||
y = r*x + np.sqrt(1.0-r*r)*rng.randn( n )
|
||||
ax = fig.add_subplot( 2, 2, k+1 )
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
ax.text( -2, 2.5, 'r=%.1f' % r )
|
||||
for k, r in enumerate([ 1.0, 0.6, 0.0, -0.9 ]) :
|
||||
x = rng.randn(n)
|
||||
y = r*x + np.sqrt(1.0-r*r)*rng.randn(n)
|
||||
ax = fig.add_subplot(spec[k//2, k%2])
|
||||
ax.text(-2, 2.5, 'r=%.1f' % r)
|
||||
if k == 0 :
|
||||
ax.text( 2.8, -2, 'positively\ncorrelated', ha='right' )
|
||||
ax.text(2.8, -2.8, 'positively\ncorrelated', ha='right', va='bottom')
|
||||
elif k == 1 :
|
||||
ax.text( 2.8, -2.5, 'weakly\ncorrelated', ha='right' )
|
||||
ax.text(2.8, -2.8, 'weakly\ncorrelated', ha='right', va='bottom')
|
||||
elif k == 2 :
|
||||
ax.text( 2.8, -2.5, 'not\ncorrelated', ha='right' )
|
||||
ax.text(2.8, -2.8, 'not\ncorrelated', ha='right', va='bottom')
|
||||
elif k == 3 :
|
||||
ax.text( -2.5, -2, 'negatively\ncorrelated', ha='left' )
|
||||
ax.text(-2.8, -2.8, 'negatively\ncorrelated', ha='left', va='bottom')
|
||||
ax.set_xlabel('x')
|
||||
ax.set_ylabel('y')
|
||||
ax.set_xlim( -3.0, 3.0)
|
||||
ax.set_ylim( -3.0, 3.0)
|
||||
ax.scatter( x[(np.abs(x)<2.8)&(np.abs(y)<2.8)], y[(np.abs(x)<2.8)&(np.abs(y)<2.8)] )
|
||||
ax.set_xlim(-3.0, 3.0)
|
||||
ax.set_ylim(-3.0, 3.0)
|
||||
ax.scatter(x[(np.abs(x)<2.8)&(np.abs(y)<2.8)], y[(np.abs(x)<2.8)&(np.abs(y)<2.8)])
|
||||
|
||||
plt.tight_layout()
|
||||
plt.savefig('correlation.pdf')
|
||||
#plt.show()
|
||||
|
@ -1,9 +1,11 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.gridspec as gridspec
|
||||
from plotstyle import *
|
||||
|
||||
# normal distribution:
|
||||
rng = np.random.RandomState(6281)
|
||||
x = np.arange( -4.0, 4.0, 0.01 )
|
||||
x = np.arange(-4.0, 4.0, 0.01)
|
||||
g = np.exp(-0.5*x*x)/np.sqrt(2.0*np.pi)
|
||||
r = rng.randn(100)
|
||||
|
||||
@ -29,55 +31,41 @@ def kerneldensity(data, xmin, xmax, sigma=1.0) :
|
||||
kd[k0:k1] += gauss[g0:g1]
|
||||
kd /= len(data)
|
||||
return kd, x
|
||||
|
||||
|
||||
plt.xkcd()
|
||||
fig = plt.figure()
|
||||
spec = gridspec.GridSpec(nrows=2, ncols=2, wspace=0.35, hspace=0.3,
|
||||
**adjust_fs(fig, left=5.5, top=0.2, bottom=2.7))
|
||||
|
||||
fig = plt.figure( figsize=(6,3) )
|
||||
ax = fig.add_subplot(2, 2, 1)
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
ax.set_xlabel( 'x' )
|
||||
ax = fig.add_subplot(spec[0, 0])
|
||||
ax.set_xlabel('x')
|
||||
ax.set_xlim(-3.2, 3.2)
|
||||
ax.set_xticks( np.arange( -3.0, 3.1, 1.0 ) )
|
||||
ax.set_ylabel( 'p(x)' )
|
||||
ax.set_xticks(np.arange(-3.0, 3.1, 1.0))
|
||||
ax.set_ylabel('p(x)')
|
||||
ax.set_ylim(0.0, 0.49)
|
||||
ax.set_yticks( np.arange( 0.0, 0.41, 0.1 ) )
|
||||
ax.set_yticks(np.arange(0.0, 0.41, 0.1))
|
||||
#ax.plot(x, g, '-b', lw=2, zorder=-1)
|
||||
ax.hist(r, np.arange(-4.1, 4, 0.4), normed=True, color='#FFCC00', zorder=-5)
|
||||
ax.hist(r, np.arange(-4.1, 4, 0.4), normed=True, zorder=-5, **fsC)
|
||||
|
||||
ax = fig.add_subplot(2, 2, 3)
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
ax.set_xlabel( 'x' )
|
||||
ax = fig.add_subplot(spec[1, 0])
|
||||
ax.set_xlabel('x')
|
||||
ax.set_xlim(-3.2, 3.2)
|
||||
ax.set_xticks( np.arange( -3.0, 3.1, 1.0 ) )
|
||||
ax.set_ylabel( 'p(x)' )
|
||||
ax.set_xticks(np.arange(-3.0, 3.1, 1.0))
|
||||
ax.set_ylabel('p(x)')
|
||||
ax.set_ylim(0.0, 0.49)
|
||||
ax.set_yticks( np.arange( 0.0, 0.41, 0.1 ) )
|
||||
ax.set_yticks(np.arange(0.0, 0.41, 0.1))
|
||||
#ax.plot(x, g, '-b', lw=2, zorder=-1)
|
||||
ax.hist(r, np.arange(-4.3, 4, 0.4), normed=True, color='#FFCC00', zorder=-5)
|
||||
ax.hist(r, np.arange(-4.3, 4, 0.4), normed=True, zorder=-5, **fsC)
|
||||
|
||||
ax = fig.add_subplot(1, 2, 2)
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
ax.set_xlabel( 'x' )
|
||||
ax = fig.add_subplot(spec[:, 1])
|
||||
ax.set_xlabel('x')
|
||||
ax.set_xlim(-3.2, 3.2)
|
||||
ax.set_xticks( np.arange( -3.0, 3.1, 1.0 ) )
|
||||
ax.set_ylabel( 'Probab. density p(x)' )
|
||||
ax.set_xticks(np.arange(-3.0, 3.1, 1.0))
|
||||
ax.set_ylabel('Probab. density p(x)')
|
||||
ax.set_ylim(0.0, 0.49)
|
||||
ax.set_yticks( np.arange( 0.0, 0.41, 0.1 ) )
|
||||
ax.set_yticks(np.arange(0.0, 0.41, 0.1))
|
||||
kd, xx = kerneldensity(r, -3.2, 3.2, 0.2)
|
||||
ax.fill_between(xx, 0.0, kd, color='#FF9900', zorder=-5)
|
||||
ax.plot(xx, kd, '-', lw=3, color='#CC0000', zorder=-1)
|
||||
ax.fill_between(xx, 0.0, kd, zorder=-5, **fsDs)
|
||||
ax.plot(xx, kd, '-', zorder=-1, **lsB)
|
||||
|
||||
plt.subplots_adjust(left=0.1, right=0.98, bottom=0.15, top=0.98, wspace=0.35, hspace=0.3)
|
||||
fig.savefig( 'kerneldensity.pdf' )
|
||||
#plt.show()
|
||||
fig.savefig('kerneldensity.pdf')
|
||||
|
||||
|
@ -1,42 +1,33 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.gridspec as gridspec
|
||||
from plotstyle import *
|
||||
|
||||
fig, (ax1, ax2) = plt.subplots(1, 2)
|
||||
|
||||
plt.xkcd()
|
||||
fig = plt.figure( figsize=(6,2.2) )
|
||||
n = 200
|
||||
x = np.random.randn( n )
|
||||
y = np.random.randn( n )
|
||||
rng = np.random.RandomState(3981)
|
||||
x = rng.randn(n)
|
||||
y = rng.randn(n)
|
||||
|
||||
z = x*x+0.2*y
|
||||
r =np.corrcoef(x,z)[0,1]
|
||||
ax = fig.add_subplot( 1, 2, 1 )
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
ax.text( 0, 4.0, 'r=%.1f' % r, ha='center' )
|
||||
ax.text( 0, 6, r'$y = x^2+\xi/5$', ha='center' )
|
||||
ax.set_xlabel('x')
|
||||
ax.set_ylabel('y')
|
||||
ax.set_xlim( -3.0, 3.0)
|
||||
ax.set_ylim( -0.5, 6.0)
|
||||
ax.scatter( x, z )
|
||||
ax1.text(0, 4.0, 'r=%.1f' % r, ha='center')
|
||||
ax1.text(0, 5.6, r'$y = x^2+\xi/5$', ha='center')
|
||||
ax1.set_xlabel('x')
|
||||
ax1.set_ylabel('y')
|
||||
ax1.set_xlim(-3.0, 3.0)
|
||||
ax1.set_ylim(-0.5, 6.0)
|
||||
ax1.scatter(x, z)
|
||||
|
||||
z = 0.5*x*y
|
||||
r =np.corrcoef(x,z)[0,1]
|
||||
ax = fig.add_subplot( 1, 2, 2 )
|
||||
ax.spines['right'].set_visible(False)
|
||||
ax.spines['top'].set_visible(False)
|
||||
ax.yaxis.set_ticks_position('left')
|
||||
ax.xaxis.set_ticks_position('bottom')
|
||||
ax.text( 0, 1.5, 'r=%.1f' % r, ha='center' )
|
||||
ax.text( 0, 3, r'$y = x \cdot \xi/2$', ha='center' )
|
||||
ax.set_xlabel('x')
|
||||
ax.set_ylabel('y')
|
||||
ax.set_xlim( -3.0, 3.0)
|
||||
ax.set_ylim( -3.0, 3.0)
|
||||
ax.scatter( x, z )
|
||||
ax2.text(0, 1.5, 'r=%.1f' % r, ha='center')
|
||||
ax2.text(0, 2.8, r'$y = x \cdot \xi/2$', ha='center')
|
||||
ax2.set_xlabel('x')
|
||||
ax2.set_ylabel('y')
|
||||
ax2.set_xlim(-3.0, 3.0)
|
||||
ax2.set_ylim(-3.0, 3.0)
|
||||
ax2.scatter(x, z)
|
||||
|
||||
plt.tight_layout()
|
||||
plt.savefig('nonlincorrelation.pdf')
|
||||
#plt.show()
|
||||
|
Reference in New Issue
Block a user