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

V = np.piecewise(x,
                [x<2, ((x>=2) & (x<4)), x>=4],
                [lambda x: 1000, lambda x: 400, lambda x: 400-400*(x-4)])

M = np.piecewise(x,
                [x<2, ((x>=2) & (x<4)), x>=4],
                [lambda x: -2800+1000*x, 
                 lambda x: -2800+1000*x-600*(x-2), 
                 lambda x: -2800+1000*x-600*(x-2)-400*(x-4)**2/2])
In [17]:
%matplotlib inline

from matplotlib import rcParams

rcParams['font.size']=16
rcParams['mathtext.fontset']='cm'
In [27]:
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 N}]$',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([2,4,6], minor=False)
ax1.set_yticks([-400,400,1000], minor=False)
ax1.grid('True')

ax2.plot(x,M)
ax2.set_xlabel(r'$x\;\; [{\rm m}]$',fontsize=20)
ax2.set_ylabel(r'$M\;\; [{\rm N}\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_yticks([-2800, -800, 0, 200], minor=False)
#ax2.set_xticks([3,6], minor=False)
ax2.grid(True)
In [ ]: