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([