我遇到了有关在图表中的不同位置放置自定义标记的问题。标记位置的x和y坐标是已知的。虽然这似乎是一件相当简单的事情,但我花了太多时间才能正确完成这项工作。我请求Stack Overflow社区请帮助我。下面是一个手写的图表,显示了我想要包含在图表中的标记类型。
我已经包含了一个生成绘图的python图的简单工作示例。请注意,我应该能够为标记位置提供x和y坐标,并且标记应该有一条直线虚线,如上图所示。标记是实心圆,其大小应由我修改。
import numpy as np
from matplotlib import pyplot as plt
from scipy.signal import savgol_filter
import matplotlib.pyplot as plt
#######################################################################
data5= np.loadtxt('test1.txt',skiprows=1,unpack = True).T
t3 = data5[:,2]
C3 = data5[:,3]
#######################################################################
######################################################################################################################
plt.plot(t3,C3,'k',linestyle='solid',linewidth=1.0)
plt.hold(True)
plt.tick_params(axis='both',labelsize=9)
plt.xlabel(r'$x$')
plt.axhline(y=0.10,xmin=0,xmax=np.argmax(t3),linestyle='dotted',linewidth=0.5,color='black')
plt.ylabel(r'$t$')
######################################################################################################################
arrow_tip = 1.45,0.28
text_pos = (1.6,0.25)
label1=(r'$H=5.0$')
plt.annotate(label1,xy=arrow_tip,xytext=text_pos,arrowprops=dict(arrowstyle="->",facecolor='black'),fontsize=9.5)
plt.text(1.10,0.105,r'Mixing Limit',fontsize=9.5)
######################################################################################################################
plt.xlim(0,t3.max())
plt.ylim(0,0.35)
plt.savefig('test.eps',format='eps')
plt.clf()
plt.close()
######################################################################################################################
此链接Result File提供了运行python代码所需的结果文件。
非常感谢。