import numpy as np
import matplotlib.pyplot as plt
from pylab import *
fname = 'halfspace.dat'
data = np.loadtxt(fname)
t = data[:,0]
b = data[:,1]
d = data[:,1]
families=[ 'fantasy','Tahoma', 'monospace', 'Times New Roman']
styles = ['normal', 'italic', 'oblique']
weights = ['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black']
# plt.rcParams['font.family'] = families[3]
# plt.rcParams['font.style'] = styles[0]
plt.rcParams['font.weight'] = weights[4]
def tickline(): # 设置四条边框的大小
ax = plt.gca()
ax.spines['right'].set_linewidth(2)
ax.spines['top'].set_linewidth(2)
ax.spines['bottom'].set_linewidth(2)
ax.spines['left'].set_linewidth(2)
# ax.tick_params(which="major",width=2,length=5)
# ax.tick_params(which="minor",width=2,length=4)
# ax.set_xlim(min(x), 1e-2)
# ax.set_ylim(1e-10, 1e-2)
return ax
plt.figure(figsize = (10,10), dpi = 100, edgecolor = 'k')
plt.loglog(t, b, color = 'b', label = 'analytic solution')
# plt.loglog(t[0:np.size(t):2], d[0:np.size(d):2], 'o--', MarkerSize = 4, color = 'r', label = 'numerical solution')
plt.scatter(t[0:np.size(t):2], d[0:np.size(d):2], color = 'r', label = 'numerical solution' )
ax = tickline()
plt.xticks(fontsize = 18) # 设置坐标的字体大小
plt.yticks(fontsize = 18)
#设置横纵坐标的名称以及对应字体格式
# font2 = {'family' : 'Times New Roman',
# 'weight' : 'normal',
# 'size' : 20,
# }
font1 = {
'weight' : 'bold',
'size' : 20,
}
ax.set_xlabel('T/s', font1) # 对坐标轴的标题加粗
ax.set_ylabel(r'$\partial$B$_z$(t)/$\partial$t(V$\cdot$m$^{-1}$)', font1)
plt.legend(loc = 'upper right', frameon = False, fontsize = 18) # 设置legend的位置, 边框, 与字体大小
# plt.grid(True)
minorticks_off() # 关闭次级刻度线
tick_params(direction = 'in')
plt.show()