import matplotlib.pyplot as plt
import numpy as np
N = 10
x = np.linspace(0, np.pi * 2, N)
y = np.sin(x)
y_2 = np.sin(x-np.pi/10)
plt.style.use('classic')
plt.rcParams['font.family'] = 'Times New Roman'
plt.rcParams['mathtext.fontset'] = 'stix'
plt.rcParams["font.size"] = 24
plt.rcParams['xtick.labelsize'] = 24
plt.rcParams['ytick.labelsize'] = 24
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
plt.rcParams['axes.linewidth'] = 1.0
plt.rcParams['axes.grid'] = True
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
plt.rcParams["legend.edgecolor"] = 'white'
plt.rcParams["legend.labelspacing"] = .1
plt.rcParams["legend.handletextpad"] = .1
fig = plt.figure(figsize=(6.4,4), facecolor=(1,1,1,0), edgecolor=(0,0,0,1))
fig_1 = fig.add_subplot(111)
spines = 2
fig_1.spines["top"].set_linewidth(spines)
fig_1.spines["left"].set_linewidth(spines)
fig_1.spines["bottom"].set_linewidth(spines)
fig_1.spines["right"].set_linewidth(spines)
fig_1.set_xlabel(r"$A \ \ \ \ {\rm N/mm^2}$")
fig_1.set_ylabel(r"$B \ \ \ \ {\rm m/s^2}$")
fig_1.set_xticks([0, 1, 2, 3, 4, 5, 6])
fig_1.set_yticks([-1, -0.5, 0, 0.5, 1])
fig_1.tick_params(bottom=True, top=False, left=True, right=False)
fig_1.tick_params(axis='x',direction='in', length=10, width=2)
fig_1.tick_params(axis='y',direction='in', length=10, width=2)
fig_1.plot(x, y, 'o-', linewidth=3, markersize=10, markerfacecolor='white',
markeredgewidth=2, markeredgecolor='k', color='k', fillstyle='full', label='A')
fig_1.plot(x, y_2, 's--', linewidth=3, markersize=10, markerfacecolor='white',
markeredgewidth=2, markeredgecolor='k', color='k', fillstyle='full', label='B')
plt.text(0.62, 0.87, 'WA60N8V', transform = fig_1.transAxes,
bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 4, 'linewidth': 0})
plt.text(0.62, 0.75, r"$V_s=33.3{\rm m/s}$", transform = fig_1.transAxes,
bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 4, 'linewidth': 0})
plt.text(0.62, 0.63, r"$d_T = 250{\rm \mu m}$", transform = fig_1.transAxes,
bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 4, 'linewidth': 0})
plt.annotate(r"$Q=1{\rm L/min}$",
fontsize=18,
xy = (3, 0.1),
xytext = (2.08, -0.65),
arrowprops = dict(facecolor = 'k', width = 0.4, headwidth = 8),
backgroundcolor="w")
plt.text(0.6, 0.3, '3', fontsize=20, transform = fig_1.transAxes,
bbox = {'facecolor': 'white', 'alpha': 1, 'pad': 1, 'linewidth': 0})
plt.axvline(x=0.5, color='k', linestyle='--', linewidth=1)
plt.axvline(x=2.0, color='k', linestyle='--', linewidth=1)
fig_1.fill_between([0.5, 2.0],[1, 1],[-1,-1],color='grey',
alpha=0.1, transform=fig_1.get_xaxis_transform())
plt.annotate(text='', xy=(0.5,-0.5), xytext=(2,-0.5),
arrowprops=dict(arrowstyle='<|-|>', color='k'))
plt.text(0.1, 0.3, 'Warm-up', fontsize=18, transform = fig_1.transAxes,
bbox = {'facecolor': 'grey', 'alpha': 0, 'pad': 4, 'linewidth': 0})
from matplotlib.patches import Rectangle
fig_1.add_patch(Rectangle((0.5, 0.0), 1.5, 1, fill=False, hatch='//'))
fig_1.grid(False)
plt.savefig('fig.pdf', bbox_inches='tight')