นี่คือโมดูล Python ในการสร้างแผนที่สีที่มีขนาดโดยพลการค่อนข้างมากตามผลงานของ Kenneth Moreland ตามที่อธิบายไว้ที่
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 สีอิ่มตัวด้วย 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