هذه وحدة بيثون لإنشاء خرائط ملونة بحجم تعسفي إلى حد كبير وفقًا لعمل كينيث مورلاند كما هو موضح في
http://www.kennethmoreland.com/color-maps/
تتيح خرائط الألوان هذه تعيين قيمة العددية من نطاق محدود إلى لون. هذا مفيد في خرائط الحرارة أو منحنيات ملء الفضاء.
يمكن إنشاء الكائنات ذات المعلمات المحددة مسبقًا باستخدام وظائف make_* مثل هذا:
map = moreland.make_kindlmann()
هذه الكائنات هي المقصود الآن
استخدم البرنامج النصي get-color-map.py للحصول على ملفات CSV الفردية التي تصف خريطة اللون المحددة:
python3 get-color-map.py viridis 256 byte
سيؤدي ذلك إلى إنشاء خريطة Viridis Color المشبعة مع 256 إدخالات. من الممكن أيضًا إنشاء الإصدار الحقيقي من الخريطة باستخدام float بدلاً من ذلك byte . أو استخدم كليهما.
إخراج الأمر أعلاه موجود في ملف viridis-table-byte-0256.csv الذي يبدأ/ينتهي بالخطوط التالية:
scalar,RGB_r,RGB_g,RGB_b
0.0,72,0,84
0.00392156862745098,73,0,86
0.00784313725490196,73,0,87
0.011764705882352941,74,0,89
0.01568627450980392,74,1,90
...
0.9882352941176471,236,232,21
0.9921568627450981,238,232,24
0.996078431372549,241,232,26
1.0,243,233,28
القيمة الأولى هي القيمة القياسية ، التي تتراوح من 0 إلى 1. عن طريق تعيين النطاق [A ، B] من القيم التي من المفترض أن يتم تمثيلها كون إلى النطاق [0،1] الأقرب إلى القيمة المعينة. القيم مسافة متساوية مما يعني أن قيمة العددية في العمود الأول لا يجب استخدامها فعليًا ، يمكن حساب الفهرس في الجدول لقيمة v باستخدام (vA)/(BA) .
يتم إعطاء قيم الألوان في هذه الحالة كثلاثة من البايتات. إذا كانت المعلمة الأخيرة إلى نص get-color-maps.py float بدلاً من byte ، يتم إعطاء اللون كـ ثلاثية من قيم الفاصلة العائمة.
يمكن استخدام البرنامج النصي gen-svg.py لإنشاء ملف SVG لتصور خرائط الألوان. إنه يعمل فقط لخرائط البايت مع 256 لونًا. على سبيل المثال ، يمكن تصور خريطة الجسم الأسود في black-body-table-byte-0256.csv مع
./gen-svg.py black-body-table-byte-0256.csv > black-body-256.svg
النتيجة تبدو هكذا:
مع المعلمة الإضافية --fine كل خط قطري له نفس اللون. والنتيجة هي صورة بدقة أعلى بكثير:
على أنظمة Fedora التي لا يتم تعبئة جميع حزم Python المستخدمة في Fedora 33. قم بتثبيت الحزم بشكل صريح مع
pip install colormath toyplot