9
Trong một ô trong matplotlib, tôi đặc biệt muốn đánh dấu các điểm trên trục x là pi/2, pi, 3pi/2 và cứ như vậy trong latex. Tôi làm nó như thế nào?Đánh dấu mủ bằng latex trong matplotlib
Trong một ô trong matplotlib, tôi đặc biệt muốn đánh dấu các điểm trên trục x là pi/2, pi, 3pi/2 và cứ như vậy trong latex. Tôi làm nó như thế nào?Đánh dấu mủ bằng latex trong matplotlib
Lệnh plt.xticks
có thể được sử dụng để đặt dấu tick LaTeX. Xem chi tiết doc page để biết thêm chi tiết.
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
cos = np.cos
pi = np.pi
# This is not necessary if `text.usetex : True` is already set in `matplotlibrc`.
mpl.rc('text', usetex = True)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
t = np.linspace(0.0, 2*pi, 100)
s = cos(t)
plt.plot(t, s)
plt.xticks([0, pi/2, pi, 3*pi/2, 2*pi],
['$0$', r'$\frac{\pi}{2}$', r'$\pi$', r'$\frac{3\pi}{2}$', r'$2\pi$'])
plt.show()
Nếu bạn đang làm điều này để một tay cầm trục, sau đó bạn cần hai cuộc gọi riêng biệt: một cho 'set_xticks' và một cho' set_xticklabels'. Ví dụ, 'ax.set_xticks ([0, pi/2, pi, 3 * pi/2, 2 * pi])' theo sau bởi 'ax.set_xticklabels (['$ 0 $', r '$ \ frac {\ pi } {2} $ ', r' $ \ pi $ ', r' $ \ frac {3 \ pi} {2} $ ', r' $ 2 \ pi $ ']) '. –
@AaronVoelker: Một cách khác để làm điều đó là 'ax.set (xticks = [0, pi/2, pi, 3 * pi/2, 2 * pi], xticklabels = ['$ 0 $', r '$ \ frac {\ pi} {2} $ ', r' $ \ pi $ ', r' $ \ frac {3 \ pi} {2} $ ', r' $ 2 \ pi $ ']) '. – unutbu