Añadiendo una marca y etiqueta personalizadas

Me gustaría agregar una marca de verificación principal personalizada y una etiqueta en matplotlib. Un uso típico es agregar una etiqueta en la ubicación math.pi con la etiqueta "$\pi$" . Mi objective es dejar las otras marcas tal como están: me gustaría conservar las marcas mayores y menores originales con el formato que se ha elegido anteriormente, pero con esta marca y etiqueta adicionales. Descubrí una forma (y encontré publicaciones en estos foros) para agregar el tick:

 list_loc=list(ax.xaxis.get_majorticklocs()) list_loc.append(pos) list_loc.sort() ax.xaxis.set_ticks(list_loc) 

Mi problema es con la etiqueta. He intentado recuperar las tags de forma similar con ax.xaxis.get_majorticklabels() pero eso me da una lista de matplotlib.text.Text que no estoy seguro de cómo tratar. Mi intención era obtener la lista de tags como cadenas, agregar la nueva etiqueta (en la posición correcta) y luego usar ax.xaxis.set_ticklabels(list_label) de manera similar a la ubicación.

Esto es lo que normalmente hago, aunque nunca estuve completamente satisfecho con el enfoque. Puede haber una mejor manera, sin llamar a draw() .

 fig,ax=plt.subplots() x=linspace(0,10,1000) x.plot(x,exp(-(x-pi)**2)) plt.draw()#this is required, or the ticklabels may not exist (yet) at the next step labels = [ w.get_text() for w in ax.get_xticklabels()] locs=list(ax.get_xticks()) labels+=[r'$\pi$'] locs+=[pi] ax.set_xticklabels(labels) ax.set_xticks(locs) ax.grid() plt.draw() 

introduzca la descripción de la imagen aquí