ฉันจะเพิ่มชื่อในพล็อต Seaborne นี้ได้อย่างไร ขอตั้งชื่อเรื่องว่า 'I AM A TITLE'
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
ฉันจะเพิ่มชื่อในพล็อต Seaborne นี้ได้อย่างไร ขอตั้งชื่อเรื่องว่า 'I AM A TITLE'
tips = sns.load_dataset("tips")
g = sns.FacetGrid(tips, col="sex", row="smoker", margin_titles=True)
g.map(sns.plt.scatter, "total_bill", "tip")
คำตอบ:
หลังจากบรรทัดเหล่านั้น:
plt.subplots_adjust(top=0.9)
g.fig.suptitle('THIS IS A TITLE, YOU BET') # can also get the figure from plt.gcf()
หากคุณเพิ่ม suptitle โดยไม่ปรับแกนชื่อด้านทะเลจะซ้อนทับกัน
(ด้วยข้อมูลที่แตกต่างกัน):
suptitle
ยังมีy
พารามิเตอร์ สิ่งนี้ได้ผลสำหรับฉัน:g.fig.suptitle('foo', y=1.05)
col_wrap
ทั้งร่างและแผนย่อยแกนสุดท้าย (ล่างขวา) จะสืบทอดชื่อเรื่องเดียวกัน
g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('Title', fontsize=16)
ข้อมูลเพิ่มเติมที่นี่: http://matplotlib.org/api/figure_api.html
ในโน้ตบุ๊ก ipython สิ่งนี้ใช้ได้กับฉัน!
sns.plt.title('YOUR TITLE HERE')
plt
ผ่านsns
แพ็คเกจถูกเลิกใช้งานใน 0.8.1 สิ่งนี้ควรทำโดยใช้plt.title('YOUR TITLE HERE')
คำตอบที่ใช้sns.plt.title()
และsns.plt.suptitle()
ไม่ทำงานอีกต่อไป
คุณต้องใช้title()
ฟังก์ชันของ matplotlib แทน:
import matplotlib.pyplot as plt
sns.FacetGrid(<whatever>)
plt.title("A title")
plt.suptitle()
หรือยัง?
plt.suptitle()
ยังปรับเปลี่ยนแกนสุดท้ายเช่นเดียวกับตัวเลขหลัก
plt.suptitle("Title")
หรือ
plt.title("Title")
สิ่งนี้ได้ผลสำหรับฉัน
ชื่อเรื่องจะไม่อยู่กึ่งกลางกับหัวเรื่องย่อย เพื่อกำหนดตำแหน่งของหัวเรื่องที่คุณสามารถใช้ได้
plt.suptitle("Title", x=center)
ในกรณีของฉันพล็อตย่อยของฉันอยู่ในตาราง 2x1 ดังนั้นฉันจึงสามารถใช้
bbox = g.axes[0,0].get_position()
เพื่อค้นหากล่องขอบเขตแล้วcenter=0.5*(bbox.x1+bbox.x2)
plt.subplots_adjust(top=0.8)
แทนtop=0.9
.