Câu trả lời:
Các tick_params
phương pháp rất hữu ích cho các công cụ như thế này. Mã này tắt các dấu tick chính và phụ và loại bỏ các nhãn khỏi trục x.
from matplotlib import pyplot as plt
plt.plot(range(10))
plt.tick_params(
axis='x', # changes apply to the x-axis
which='both', # both major and minor ticks are affected
bottom=False, # ticks along the bottom edge are off
top=False, # ticks along the top edge are off
labelbottom=False) # labels along the bottom edge are off
plt.show()
plt.savefig('plot')
plt.clf()
plt.tick_params(axis='both', which='both', bottom='off', top='off', labelbottom='off', right='off', left='off', labelleft='off')
axes
có cùng một tick_params
phương pháp.
matplotlib
, bạn nên thay thế 'on'
bằng True
và 'off'
bằng False
.
Không chính xác những gì OP yêu cầu, nhưng một cách đơn giản để vô hiệu hóa tất cả các dòng trục, đánh dấu và nhãn là chỉ cần gọi:
plt.axis('off')
ax.axis('off')
một phiên bản trục hiện có.
Ngoài ra, bạn có thể vượt qua một vị trí đánh dấu trống và nhãn là
# for matplotlib.pyplot
# ---------------------
plt.xticks([], [])
# for axis object
# ---------------
# from Anakhand May 5 at 13:08
# for major ticks
ax.set_xticks([])
# for minor ticks
ax.set_xticks([], minor=True)
ax
, thì bạn có thể sử dụng:ax.set_xticks([], [])
ax.set_xticks([])
cho bọ ve lớn, ax.set_xticks([], minor=True)
cho ve nhỏ. Tương đương với pyplot
là plt.xticks([])
và plt.xticks([], minor=True)
.
Đây là một giải pháp thay thế mà tôi tìm thấy trong danh sách gửi thư của matplotlib :
import matplotlib.pylab as plt
x = range(1000)
ax = plt.axes()
ax.semilogx(x, x)
ax.xaxis.set_ticks_position('none')
Có một giải pháp tốt hơn và đơn giản hơn so với giải pháp được đưa ra bởi John Vinyard. Sử dụng NullLocator
:
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')
Mong rằng sẽ giúp.
axins.xaxis.set_major_locator(plt.NullLocator())
, axins
đối tượng được trả về bởi axins = zoomed_inset_axes()
(hàm được nhập từ đâu mpl_toolkits.axes_grid1.inset_locator
).
Hãy thử cách này để xóa nhãn (nhưng không phải là dấu tick):
import matplotlib.pyplot as plt
plt.setp( ax.get_xticklabels(), visible=False)
setp
ở chế độ pylab, không thể được sử dụng để chống lại các trục riêng lẻ
Đoạn mã này có thể giúp loại bỏ xticks chỉ.
from matplotlib import pyplot as plt
plt.xticks([])
Đoạn mã này có thể giúp loại bỏ cả xticks và yticks.
from matplotlib import pyplot as plt
plt.xticks([]),plt.yticks([])
# remove all the ticks (both axes), and tick labels on the Y axis
plt.tick_params(top='off', bottom='off', left='off', right='off', labelleft='off', labelbottom='on')
ax.tick_params()
off
và on
không được dùng nữa. MatplotlibDeprecationWarning: Passing one of 'on', 'true', 'off', 'false' as a boolean is deprecated; use an actual boolean (True/False) instead.
Những người bạn đang tìm kiếm một lệnh ngắn để tắt tất cả các dấu tick và nhãn sẽ ổn với
plt.tick_params(top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False)
cho phép loại bool
các tham số tương ứng kể từ phiên bản matplotlib> = 2.1.1
Đối với cài đặt đánh dấu tùy chỉnh, các tài liệu rất hữu ích:
https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html
ax.set_xticks([], [])
và nó đã được giải quyết ...