python - الخطوط الافتراضية في سيبورن البيانات الإحصائية التصور في إبيثون




fonts matplotlib (2)

بعد عدة مشاكل في محاولة لتشغيل stanford.edu/~mwaskom/software/seaborn/ في أناكوندا و إنوهت لنظام التشغيل ماك (العديد من المشاكل مع التبعيات والإصدارات)، وكنت قادرا على تشغيله من بيئة افتراضية إنوثت في أوبونتو (تشغيل في فيرتوالبوكس) .

بعد بعض الدروس الخاصة بهم أنا إعادة ما يلي:

لكنه يزعجني أن الخطوط المستخدمة ليست هي تلك المصممة ل سيبورن، ولكن أقرب واحد.

هل هناك أي شخص لديه خبرة في تعديل اختيار الخط في ماتلوتليب؟ أي تعليمي جيد حول كيفية استخدام مدير الخط ماتلوبوتليب؟


حسنا، إذا كنت ترغب في استخدام أريال، ستحتاج إلى تثبيت الخطوط الأساسية ل ميكروسوفت . إذا كنت أذكر بشكل صحيح، أريال لا يمكن إعادة توزيع بحرية بنفس الشروط مثل معظم أوس، لذلك سوف تحتاج إلى الموافقة على اتفاقية الترخيص وتثبيته بنفسك.

ومع ذلك، وبعبارات أكثر عمومية، كنت ترغب فقط في قرص المعلمات أرسي . (الذي يمكن القيام به إما في وقت التشغيل من خلال matplotlib.rc / matplotlib.rcParams أو من خلال ملف .matplotlibrc .)

فعلى سبيل المثال، تقوم بحراثة البحر أساسا (من بين أمور أخرى):

import matplotlib as mpl
mpl.rcParams['font.family'] = 'Arial'

الخطأ هو لأنك لم يكن لديك الخط أريال تثبيت أي مكان على النظام الخاص بك.

أنت عادة لا تريد لمس مدير الخط مباشرة. هناك الكثير من الاستثناءات، (مثل استخدام ملف .ttf معين) ولكن بشكل عام، سوف تحتاج إلى التمسك باستخدام الخطوط المثبتة على النظام الخاص بك. قد تحتاج إلى تحديد مثيل FontProperties ، ولكن حتى بالنسبة لذلك، عادة ما يكون من الأسهل تحديد الأشياء من خلال وسيطات الكلمات الرئيسية الأخرى.


كما يلاحظ جو، لم يتم تثبيت أريال على أوبونتو بشكل افتراضي، ولكن من السهل تثبيت. هذا هو ما أقوم به لاختبار على ترافيس، وهي بيئة أوبونتو:

sudo apt-get install msttcorefonts -qq

سيبورن أيضا يعرض خيار الخط في المستوى العلوي من نمط السيطرة، لذلك هل يمكن أيضا بسهولة استخدام واحد التي تم تثبيتها على النظام الخاص بك. بقدر ما أستطيع أن أقول من بدس حولها، يمكنك الحصول على قائمة من الخطوط الممكنة بهذه الطريقة:

import matplotlib as mpl
font_paths = mpl.font_manager.findSystemFonts()
font_objects = mpl.font_manager.createFontList(font_paths)
font_names = [f.name for f in font_objects]
print font_names

مرة واحدة كنت قد وجدت واحدة تريد استخدامها، مجرد تعيينه عن طريق القيام، على سبيل المثال،

sns.set(font="Verdana")

بطبيعة الحال هذا يجب أن يتم في أعلى كل سيناريو / دفتر التي سوف تولد المؤامرات البحرية (وهو أمر مزعج)، لذلك تحسين استخدام الأساليب غير الافتراضي هو على خارطة الطريق ل 0.3.





seaborn