In [1]:
import sympy as sym
import numpy as np
import matplotlib.pyplot as plt
In [5]:
N = 1001
x = np.linspace(0,6,N)

V = np.piecewise(x,
                [x<3, x>=3],
                [lambda x: 6.5, lambda x: 6.5-2-3*(x-3)])

M = np.piecewise(x,
                [x<3, x>=3],
                [lambda x: -19.5+6.5*x, 
                 lambda x: -19.5+6.5*x-2*(x-3)-3*(x-3)**2/2])
In [6]:
%matplotlib inline

from matplotlib import rcParams

rcParams['font.size']=16
rcParams['mathtext.fontset']='cm'
In [18]:
fig = plt.figure()
ax1 = fig.add_axes([0.1,0.1,0.8,0.8])
ax2 = fig.add_axes([1.2,0.1,0.8,0.8])

ax1.plot(x,V,'blue')
ax1.set_xlabel(r'$x\;\; [{\rm m}]$',fontsize=20)
ax1.set_ylabel(r'$V\;\; [{\rm kN}]$',fontsize=20)
ax1.axhline(y=0,color='k')
ax1.axvline(x=0,color='k')
ax1.fill_between(x,V,color='blue',alpha=0.2)
ax1.set_xticks([0,3,6], minor=False)
ax1.set_yticks([6.5,4.5,0,-4.5], minor=False)
ax1.grid('True')

ax2.plot(x,M)
ax2.set_xlabel(r'$x\;\; [{\rm m}]$',fontsize=20)
ax2.set_ylabel(r'$M\;\; [{\rm kN}\cdot {\rm m}]$',fontsize=20)
ax2.axhline(y=0,color='k')
ax2.axvline(x=0,color='k')
ax2.fill_between(x,M,color='blue',alpha=0.2)
ax2.set_xticks([0, 3, 4.5, 6], minor=False)
ax2.set_yticks([0, min(M), max(M)], minor=False)
ax2.set_yticklabels([0, min(M), max(M)])
ax2.grid(True)
In [ ]: