import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rcParams
import math
import matplotlib

#Fonts SETTING

config = {
    "font.family":'serif',
    "font.size": 18,
    "mathtext.fontset":'stix',
    "font.serif": ['Times New Roman']#['SimSun'],
}    #mac字体不一样   Songti SC  windows Simsun
rcParams.update(config)
#plt.rc('font',family='Times New Roman') 

# 图框设置

plt.rcParams['xtick.direction'] = 'in'  # 将x周的刻度线方向设置向内
plt.rcParams['ytick.direction'] = 'in'  # 将y轴的刻度方向设置向内

#读取excel数据

df = pd.read_excel(r'C:\Users\Administrator\Desktop\ABCDFEG.xlsx')
data = np.array(df)
plt.rcParams['font.sans-serif'] = 'SimSun'
#画图 

plt.figure(figsize=(6,8))  #图框大小
plt.ylim(0,80) #坐标范围
plt.xlim(0,3000)

plt.plot(data[:,0],data[:,1],'o',markerfacecolor='none',markersize=5,markeredgecolor='k',label='$V_{S}$')   #$X_{?}$   $X^{?}$ 下标和上标  
plt.plot(data[:,2],data[:,3],'o',c='k',label='$V_{P}$')
plt.gca().invert_yaxis()  #y轴坐标翻转
plt.grid(linestyle='--',linewidth=1,dashes=(5,5)) #plt.grid设置背景网格  dashes=(5,5)虚线间隔
plt.ylabel('Depth(m)')
plt.xlabel('Velocity of propagation(m/s)')

# 设置坐标刻度和标签位置
ax = plt.gca()
ax.xaxis.set_ticks_position( 'top')  #x轴坐标刻度放上面 bottom/top
ax.xaxis.set_label_position('top')   # 标签/坐标名称
plt.yticks(fontproperties='Times New Roman', size=15)   # 坐标刻度字体+尺寸
plt.xticks(fontproperties='Times New Roman', size=15)

plt.legend(bbox_to_anchor=(0.5,0.09),loc=10,ncol=1,frameon=False) #设置图例 frameon图例图框
plt.show()

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐