اذهب إلى المحتوى

السؤال

نشر

لدي الكود التالي الضي يمثل رسم بياني خطي:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
sns.set(style="darkgrid")
data = pd.DataFrame({'a': np.random.rand(8),
                   'b': np.random.rand(8)})
sns.lineplot(data=data)

والشكل الناتج:
download.png.7794eea326f7ccb46cebc534524ff646.png

الآن أريد معرفة كيف يمكننا التحكم بعدد العلامات ticks، وأيضاً كيفية وضع labels محددة مكانها؟
 

Recommended Posts

  • 1
نشر

يمكنك استخدام الددالتين  Axes.set_xticks للمحور السيني و Axes.set_yticks للمحور العيني لتعين وضبط ال ticks من خلال قائمة محددة بحجم محدد:

Axes.set_xticks(self, ticks, minor=False)
Axes.set_yticks(self, ticks, minor=False)

بحيث أن الوسيط ticks هو قائمة تحتوي مواقع ال tick المراد وضعها لكل من المحورين x-axis/y-axis، والوسيط الثاني لتحديد فيما إذا كنت تريد ضبط ال ticks الثانوية أيضاً حيث أنه في الحالة الافتراضية يكون major  أي الرئيسية منها.
كما نستخدم الدالة set_xticklabels و set_yticklabels لتعديل تسمياتها حيث نمرر لها قائمة بالتسميات المطلوبة.
لذا يمكنك التعديل على الكود الخاص بك ليصبح:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
sns.set(style="darkgrid")
data = pd.DataFrame({'D': np.random.rand(8),
                     'C': np.random.rand(8)})
ax = sns.lineplot(data=data)
# ضبط عدد العلامات للمحور السيني
ax.set_xticks(range(8))
# لها labels تحديد ال
ax.set_xticklabels(['A', 'B', 'C', 'D',
				'E', 'F', 'G', 'H'])

الخرج:
61c8d75b0c44b_download(1).png.cc9910ec675c7db3d515335fd09fdc55.png
أو يمكنك القيام بذلك من خلال الدالة plt.xticks للمحور السيني و plt.yticks للمحور العيني:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
sns.set(style="darkgrid")
data = pd.DataFrame({'D': np.random.rand(8), 'C': np.random.rand(8)})
ax = sns.lineplot(data=data)
plt.xticks(range(8), ['A', 'B', 'C', 'D',
				'E', 'F', 'G', 'H'])

حيث نمرر لها مُعطيين الأول يمثل عددها والثاني التسميات. ويكون الخرج مطابقاً للخرج أعلاه.
 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...