كيفية عرض القيم على seaborn barplot (مع أمثلة)
يمكنك استخدام الوظيفة التالية لعرض القيم على مخطط شريطي بحري :
def show_values (axs, orient=" v ", space=.01): def _single (ax): if orient == " v ": for p in ax. patches : _x = p. get_x () + p. get_width ()/2 _y = p. get_y () + p. get_height () + ( p.get_height ()*0.01) value = ' {:.1f} '. format (e.g. get_height ()) ax. text (_x, _y, value, ha=" center ") elif orient == " h ": for p in ax. patches : _x = p. get_x () + p. get_width () + float(space) _y = p. get_y () + p. get_height () - (e.g. get_height ()*0.5) value = ' {:.1f} '. format (e.g. get_width ()) ax. text (_x, _y, value, ha=" left ") if isinstance(axs, np.ndarray ): for idx, ax in np. ndenumerate (axs): _single(ax) else : _single(axs)
تعمل هذه الوظيفة مع المخططات الأفقية والرأسية.
توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا مع مجموعة بيانات “نصائح” Seaborn:
import seaborn as sns
import pandas as pd
import numpy as np
#load tips dataset
data = sns. load_dataset (“ tips ”)
#view first five rows
data. head ()
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
مثال 1: عرض القيم على مخطط شريطي عمودي
يوضح الكود التالي كيفية عرض القيم على مخطط شريطي عمودي:
#create vertical barplot p = sns. barplot (x=" day ", y=" tip ", data=data, ci= None ) #show values on barplot show_values(p)
مثال 2: عرض القيم على مخطط شريطي أفقي
يوضح الكود التالي كيفية عرض القيم على مخطط شريطي أفقي:
#create horizontal barplot p = sns. barplot (x=" tip ", y=" day ", data=data, ci= None ) #show values on barplot show_values(p, " h ", space= 0 )
لاحظ أنه كلما كانت القيمة التي تستخدمها للمساحة أكبر، كلما ابتعدت التسميات عن الأشرطة.
على سبيل المثال، لنغير المسافة من 0 إلى .05 :
#create horizontal barplot p = sns. barplot (x=" tip ", y=" day ", data=data, ci= None ) #show values on barplot show_values(p, " h ", space= 0.05 )
ملاحظة : لتغيير عدد المنازل العشرية المعروضة، ما عليك سوى تغيير القيمة في هذا السطر من الدالة:
value = ' {:.1f} '. format (e.g. get_height ())
على سبيل المثال، قم بتغييره إلى . 1f إلى .2f لعرض منزلتين عشريتين بدلاً من واحدة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية أداء الوظائف الشائعة الأخرى في Seaborn:
كيفية إنشاء مخطط دائري في سيبورن
كيفية إنشاء مؤامرة سلسلة زمنية في سيبورن
كيفية إنشاء قطع أرض متعددة في Seaborn في شكل واحد