In [27]:
import numpy as np
import matplotlib as mpl
import matplotlib.cm as cm
import matplotlib.pyplot as plt
import matplotlib.colors as colors
#this works apparently only for savefig stuff
def cm2inch(*tupl):
inch = 2.54
if type(tupl[0]) == tuple:
return tuple(i/inch for i in tupl[0])
else:
return tuple(i/inch for i in tupl)
mpl.rcParams['figure.figsize']=cm2inch(16.0,8.0) #(6.0,4.0)
mpl.rcParams['font.size']=10 #10
mpl.rcParams['savefig.dpi']=100 #72
mpl.rcParams['figure.subplot.bottom']=.1 #.125
plt.rc('font', family='serif')
plt.rc('text', usetex=True)
#inline Shit
%matplotlib inline
%config InlineBackend.figure_format='svg'
%config InlineBackend.rc = {'figure.facecolor': 'white', 'figure.subplot.bottom': 0.125, 'figure.edgecolor': 'white', 'savefig.dpi': 300, 'figure.figsize': (12.0, 8.0), 'font.size': 10}
#GUi shit
%matplotlib tk
In [35]:
import math
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.axes_grid.anchored_artists import AnchoredText
import random
def add_at(ax, t, loc=2):
fp = dict(size=10)
_at = AnchoredText(t, loc=loc, prop=fp)
ax.add_artist(_at)
return _at
def fun(x, y):
return x + y - math.sqrt(x**2+y**2)
plt.close('all')
fig = plt.figure(figsize=cm2inch(8,12))
ax = fig.add_subplot(111, projection='3d')
#ax = Axes3D(fig);
x = y = np.arange(-2.0, 3.0, 0.05)
X, Y = np.meshgrid(x, y)
zs = np.array([fun(x,y) for x,y in zip(np.ravel(X), np.ravel(Y))])
Z = zs.reshape(X.shape)
ax.plot_surface(X, Y, Z,color='grey')
ax.set_xlabel(r'$x$')
ax.set_ylabel(r'$y$')
ax.set_zlabel(r'$\phi_{FB}(x,y)$')
ax.plot([0,3],[0,0],color='b')
ax.plot([0,0],[3,0],color='b')
#add_at(ax,r'$\phi_{FB}(x,y) = x + y - \sqrt{x^2+y^2}$')
fig.subplots_adjust(left=0, bottom=0, right=1, top=1, wspace=1, hspace=1)
plt.show()
In [ ]:
fig = plt.figure(figsize=cm2inch(8,12))
plt.plot([