ทำไมต้องใช้ colormap viridis มากกว่า jet?


28

ตามที่ประกาศในhttps://www.youtube.com/watch?v=xAoljeRJ3lU Matplotlib จะเปลี่ยน colormap เริ่มต้นจาก jet เป็น viridis

อย่างไรก็ตามฉันไม่เข้าใจมันค่อนข้างดี อาจเป็นเพราะฉันตาบอดสี?

เจ็ตคอร์แมปแบบดั้งเดิมนั้นดูแข็งแรงมากฉันรู้สึกถึงความแตกต่าง:

ป้อนคำอธิบายรูปภาพที่นี่

ในขณะที่ colormap viridis ใหม่ขาดความคมชัดนั้น:

ป้อนคำอธิบายรูปภาพที่นี่

ใครช่วยอธิบายได้ง่ายขึ้นสำหรับฉัน ฉันต้องการพล็อตสำหรับกระดาษของฉัน และฉันต้องการเหตุผลที่ดีในการโน้มน้าวผู้บังคับบัญชาของฉัน (และตัวฉันเอง) ว่า viridis นั้นดีกว่า


2
โปรดทราบว่า Matlab เพิ่งเปลี่ยนจาก jet เป็น parula (ดังที่กล่าวไว้ในวิดีโอที่เชื่อมโยง)
อะมีบาพูดว่า Reinstate Monica

+1 ถึง @amoeba ความคิดเห็น เนื่องจาก R2014b MATLAB ใช้parula color-map หนึ่งในเหตุผลหลักคือเจ็ทนั้นค่อนข้างไม่เป็นทางการสำหรับผู้ใช้ชายตาบอดสีและการเปลี่ยนไปใช้parulaได้รับแรงจูงใจจากสิ่งนี้ ชายตาบอดสีมักพบประมาณ 7-8% ในประชากรแถบยุโรปเหนือจำนวนหนึ่ง
usεr11852พูดว่า Reinstate Monic

1
ใช้ magma, plasma หรือ inferno แล้ว ... คุณไม่ได้ถูกบังคับให้ใช้ค่าเริ่มต้นและ IMHO อีกสามชนิดนั้น "แข็งแกร่ง" Viridis ถูกเลือกเป็นค่าเริ่มต้นเนื่องจาก "ค่าเริ่มต้นต้องมีสีเขียว" หากคุณต้องการแล้วใน MATLAB คุณสามารถรับได้ที่นี่ คำเตือน: การส่ง FEX เป็นของฉัน
Ander Biguri

3
นอกจากนี้เรายังสร้างเครื่องมือที่ช่วยให้คุณวิเคราะห์ colormaps ที่แตกต่างกัน wrt การรับรู้ที่สม่ำเสมอ, linearity ของการทำแผนที่สีเทาและความเหมาะสมสำหรับผู้ชมที่ตาบอดสี ดูbid.github.io/colormapและgithub.com/matplotlib/viscm เรามีสาขาหนึ่งในการพัฒนาเพื่อออกแบบ colormaps สองทิศทาง
Stefan van der Walt

คำตอบ:


34

ดูวิดีโอนี้ นอกจากนี้คุณยังสามารถ google เพราะมีจำนวนมาก (สมเหตุสมผล) เจ็ททุบตีทุกที่

เจ็ทเป็นที่ชื่นชอบอย่างมากเพราะมันมีสีสันฉูดฉาดและไม่ต้องการให้คุณคิดถึงระดับสีของคุณ: แม้ว่าคุณจะมีค่าผิดปกติเพียงเล็กน้อย แต่คุณยังได้รับ "คุณสมบัติทั้งหมด" ในพล็อตของคุณ คุณบอกด้วยตัวเองว่า: เจ็ทแทบจะไม่มีความคมชัด

อย่างไรก็ตามเรื่องนี้มาในราคาที่สูงมาก: เจ็ทอักษรแสดงให้เห็นถึงสิ่งที่เขาไม่อยู่ มันสร้างความแตกต่างจากที่ไหนเลย: เพียงแค่เปลี่ยนระดับสีของคุณเล็กน้อยในเจ็ทและคุณควรเห็นว่าภาพมีการเปลี่ยนแปลงอย่างมาก ทำสิ่งเดียวกันใน viridis และคุณเพียงแค่มีความรู้สึกว่าคุณใส่แสงมากขึ้นหรือน้อยลงในสิ่งเดียวกัน

หากคุณไม่ชอบ viridis ใช้ colormaps อื่น ๆ ที่กล่าวถึงในวิดีโอข้างต้น: พวกเขามีคุณสมบัติที่ดีเหมือนกันและพวกเขาจะไม่ทำให้ข้อมูลของคุณอยู่ เปลี่ยนระดับสีด้วย: เริ่มต้นที่ 0 แม้ว่าจะเป็นตรรกะจากมุมมองทางวิทยาศาสตร์อาจไม่ใช่ความคิดที่ดีที่จะแสดงข้อมูลเฉพาะเหล่านี้ (แต่เปลี่ยน colorbar ของคุณเพื่อสะท้อนสิ่งนั้นเช่น "<25")

แต่อีกครั้งดูวิดีโอมีตัวอย่างมากมายในนั้นเช่นเดียวกับคำอธิบายที่สมบูรณ์


1
เข้าใจแล้วคุณจะลิงค์กลับวิดีโอที่ฉันโพสต์ไว้ ฉันดูมันอีกครั้ง และเมื่อเริ่มต้นมันเป็นตัวอย่างของ Mona Lisa ทันใดนั้นฉันก็รับมัน jetแสงสูงความเปรียบต่างที่ไม่มีอยู่เช่นหน้าผากของ Mona Lisa
cqcn1991

6
ใช่แน่นอน: โดยทั่วไปแล้วเจ็ทจะเน้นสีเหลืองและสีฟ้า ขึ้นอยู่กับระดับสีของคุณคุณจะ "เห็น" สิ่งต่าง ๆ ใน colormaps เหมือน veridis ถ้าคุณไม่เห็นสิ่งที่คุณเคยเห็นใน jet แล้วก็หมายความว่าสิ่งที่คุณกำลังมองหานั้นเล็กน้อยเมื่อเทียบกับส่วนที่เหลือ: นี่คือจุดประสงค์ทั้งหมดของ colormap เพื่อให้สมองของเรา การประมาณความสำคัญสัมพัทธ์ของแต่ละพิกเซล :) (และใช่คุณอ้างถึงวิดีโอ แต่มันมีตัวอย่างที่ดีจริงๆและฉันสงสัยว่าคุณเห็นแล้วหรือเพิ่งอ้างว่าให้นำเสนอ veridis)
JohnW

และมีตัวอย่างของการไล่ตามคำอธิบายของเอฟเฟกต์แปลก ๆ ซึ่งเป็นเพียงสิ่งประดิษฐ์ของเจ็ท ฉันจะพยายามขุดบ้าง
Davidmh

ฉันยังต้องเพิ่มว่าประสิทธิภาพของ virdis แตกต่างกันไปตามหน้าจอ differnt ฉันมีแล็ปท็อปเครื่องเก่าและเดสก์ท็อปแฮกใหม่ virdis ของแฮกเกอร์บนเดสก์ท็อปดูดีกว่าและชัดเจนกว่าแล็ปท็อปมาก
cqcn1991

2
ดังนั้นมีตัวอย่างนี้ น่าเสียดายที่การอ้างอิงดั้งเดิมอยู่ในการละทิ้ง matmatmatlab ซึ่งตอนนี้เป็นแบบส่วนตัว บล็อกทั้งหมดที่ฉันหาได้อ้างอิงบล็อก แต่ไม่ใช่บทความ หากใครพบมันฉันจะดีใจมาก
Davidmh

12

คุณต้องการพล็อตเพราะคุณต้องการแสดงข้อมูลและคุณต้องการ colormap เพราะคุณรู้ว่าสีที่คุณแสดงจะไม่สามารถมองเห็นได้อย่างเท่าเทียมกันโดยทุกคน: สีใด ๆ เป็นการตีความผ่านการรับรู้ทางสายตาของเรา

แท้จริงแล้วสีนั้นเป็นสิ่งที่อยู่ในความรู้สึกที่ถูกตีความโดยสมอง (ในแง่ที่ว่าสเปกตรัมถูกแปรสภาพเป็นกิจกรรมของระบบประสาท) ในระดับที่แตกต่างกันของวาเลนซ์ (หรือค่า) เป็นฟังก์ชันของแถบสีที่ให้ไว้ ดวงตาของคุณจะทำให้ชุด saccades คงที่เพื่อให้ตรงกับพล็อตที่มีแถบ

JET จะถูกแบนเพราะมันคลุมเครือในการรับรู้ คุณสมบัติแรกของสีในการรับรู้ทางสายตาคือค่าของมันนั่นคือความสว่างทั้งหมดซึ่งทำหน้าที่เป็นคุณสมบัติที่ตรงที่สุด อย่างไรก็ตามค่านี้ไม่ใช่แบบโมโนโทนิกใน JET ดังนั้นค่าหนึ่งในความสว่างอาจทำให้ค่าการรับรู้ที่แตกต่างกัน นี่คือความจริงโดยเฉพาะอย่างยิ่งสำหรับ blueiash - โทนสีเหลือง (และส่วนใหญ่เวลาที่สอดคล้องกับค่าศูนย์) ซึ่ง "ป๊อปอัพ" ปลอมขึ้นมาจากภาพ ตรวจสอบส่วนโค้งดังกล่าวเมื่อ: ความสว่างของ colormaps ที่แตกต่างกัน

Viridis (ในทางเลือกอื่น ๆ ) ทำเพื่อหลีกเลี่ยงปัญหานั้น คุณสามารถอ่านคำอธิบายแบบเต็มสำหรับตัวเลือกนี้และวิธีปรับ colormap ของคุณให้เข้ากับหมวดหมู่ของข้อมูลเพื่อพล็อต

สิ่งนี้ควรโน้มน้าวผู้บังคับบัญชาของคุณ


7

ปัญหาของการใช้มาตราส่วนสีชนิดใด ๆ เพื่อแสดงข้อมูลลำดับคือสายตาของความส่องสว่าง monotonicity: กล่าวคือถ้าคุณมีข้อมูลที่ตอบสนองความสัมพันธ์ในการสั่งซื้อบางประเภทความสัมพันธ์นั้นควรจะสะท้อนให้เห็นไม่เพียง แต่การเปลี่ยนแปลงในสี โดยความสว่าง ปัญหาของการทำแผนที่สี "เจ็ท" คือจุดสูงสุดในการทำแผนที่ (ตรงกับค่าที่มากขึ้น) จะได้รับสีแดงช่วงกลางจะได้รับสีเขียวเหลืองและต่ำสุดคือสีน้ำเงิน - แต่ถ้าเรา ดูที่การรับรู้ "ความสว่าง" (เช่นความสว่าง) ของสีเหล่านั้นเป็นที่ชัดเจนว่าการทำแผนที่นี้ไม่ได้เป็นเสียงเดียว การจับคู่สีอื่น ๆ ในคำถามของคุณจะแก้ไขข้อบกพร่องนี้

เหตุผลสำหรับคุณสมบัตินี้ควรชัดเจนไม่ใช่อย่างน้อยสิ่งนี้คือความจริงที่ว่าหากตัวเลขดังกล่าวทำซ้ำในระดับสีเทาการตีความจะไม่สูญหายไป


7

มีคำตอบที่ดีอยู่แล้วที่นี่ แต่ฉันคิดว่ามันยังเกี่ยวข้องกับการเพิ่มมุมมองอื่นจากกระดาษที่ยอดเยี่ยม

แผนที่สีดี: วิธีการออกแบบ Peter Kovesi arXiv: 1509.03700 (2015) ซอฟแวร์ที่มีอยู่ที่นี่

ซึ่งแสดงให้เห็นอย่างชัดเจนถึงหลักการของการออกแบบแผนที่สีและเป็นเครื่องมือที่ดีมากในการวิเคราะห์พวกมันเพื่อความเท่าเทียมกัน:

ป้อนคำอธิบายรูปภาพที่นี่

พล็อต 'กระดานซักผ้า' นี้มีทางลาดที่มั่นคงจากศูนย์ถึงด้านซ้ายไปทางขวาตามด้านล่างและด้านบนของพล็อตมีการมอดูเลตแบบคลื่นไซน์ของแอมพลิจูดเครื่องแบบ สำหรับแผนที่สีที่ได้รับการออกแบบมาอย่างเหมาะสมขอบด้านบนทั้งหมดควรแสดงความคมชัดที่เหมือนกันหรืออย่างน้อยก็คล้ายกัน อย่างไรก็ตามเมื่อคุณjetทำการทดสอบจะเห็นได้ชัดทันทีว่านี่ไม่ใช่กรณี:

ป้อนคำอธิบายรูปภาพที่นี่

กล่าวอีกนัยหนึ่งมีขอบสีแดงจำนวนหนึ่งโดยเฉพาะสีแดงและสีเขียวที่ทอดยาวjetและมองไม่เห็นเพราะแผนที่สีไม่มีความคมชัดใด ๆ เลย เมื่อคุณใช้สิ่งนี้กับข้อมูลของคุณความคมชัดในภูมิภาคเหล่านั้นจะเป็นไปในทิศทางเดียวกันกับขอบ ในทำนองเดียวกันความแตกต่างที่คมชัดที่ด้านล่างในสิ่งที่ควรเป็นมาตราส่วนแบบเส้นตรงที่ราบเรียบแสดงถึงสถานที่ซึ่งแผนที่กำลังแนะนำคุณสมบัติที่ไม่ได้มีอยู่จริงในข้อมูล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.