ฉันมีภาพนี้:
plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()
ฉันต้องการซ่อนตัวเลข ถ้าฉันใช้:
plt.axis('off')
... ฉันได้ภาพนี้:
นอกจากนี้ยังซ่อนฉลากและV
t
ฉันจะเก็บป้ายกำกับในขณะที่ซ่อนค่าได้อย่างไร
คำตอบ:
หากคุณใช้วิธีเชิงวัตถุ matplotlib นี่เป็นงานง่ายๆโดยใช้ax.set_xticklabels()
และax.set_yticklabels()
:
import matplotlib.pyplot as plt
# Create Figure and Axes instances
fig,ax = plt.subplots(1)
# Make your plot, set your axes labels
ax.plot(sim_1['t'],sim_1['V'],'k')
ax.set_ylabel('V')
ax.set_xlabel('t')
# Turn off tick labels
ax.set_yticklabels([])
ax.set_xticklabels([])
plt.show()
หากไม่มีsubplots
คุณสามารถลบเห็บได้ในระดับสากลดังนี้:
plt.xticks([])
plt.yticks([])
ใช้งานได้ดี วางสิ่งนี้ก่อนplt.show()
:
plt.gca().axes.get_yaxis().set_visible(False)
บูม
ax.xaxis.set_visible(False)
ไม่แน่ใจว่านี่เป็นวิธีที่ดีที่สุด แต่คุณสามารถเปลี่ยนป้ายกำกับแบบนี้ได้:
import matplotlib.pyplot as plt
x = range(10)
y = range(10)
plt.plot(x,y)
plt.xticks(x," ")
plt.show()
ใน Python 3.4 จะสร้างพล็อตเส้นอย่างง่ายโดยไม่มีเครื่องหมายถูกบนแกน x ตัวอย่างง่ายๆอยู่ที่นี่: http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html
คำถามที่เกี่ยวข้องนี้ยังมีคำแนะนำที่ดีกว่า: การ ซ่อนข้อความแกนในพล็อต matplotlib
ฉันยังใหม่กับ python ไมล์สะสมของคุณอาจแตกต่างกันไปในรุ่นก่อนหน้านี้ บางทีคนอื่นสามารถช่วย?
ในการลบเครื่องหมายถูกทั้งหมดใช้:
ax.set_yticks([])
ax.set_xticks([])
มิฉะนั้นax.set_yticklabels([])
และax.set_xticklabels([])
จะทำให้เครื่องหมายถูกสำหรับ
ax.set_yticks([], [])
ฉันจะได้รับคำเตือนดังต่อไปนี้: "MatplotlibDeprecationWarning: การส่งผ่านพารามิเตอร์ย่อยของ set_xticks () ตามตำแหน่งจะถูกเลิกใช้งานเนื่องจาก Matplotlib 3.2 พารามิเตอร์จะกลายเป็นคีย์เวิร์ดเท่านั้นสองรีลีสรองในภายหลัง" ทางเลือกที่ถูกต้องคืออะไร?
ax.set_yticks([], [])
คุณคุณกำลังส่งรายการว่าง 2 รายการซึ่งทำให้เกิดข้อผิดพลาด ทำไมต้องทำอย่างนั้น? ดูคู่มือคำสั่ง ถ้าอาร์กิวเมนต์แรกไม่ควรผ่าน positionally ax.set_yticks(ticks=[])
ผ่านมันด้วยคำสำคัญ: