discussing the "ice" colormap
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- matplotlib, python
- Lĩnh vực
- data-visualization, design
Hướng nghiên cứu
Bắt đầu với colormap cmocean.ice và hướng dẫn về colormap của Matplotlib được liên kết; so sánh các điểm cuối thấp và cao của nó đối với nồng độ băng biển với Blues_r và PuBu_r. Công việc được xem là hoàn tất khi đã quyết định thiết kế colormap khoa học hoặc ghi lại cơ sở lý luận, đồng thời đạt được sự thống nhất về việc có nên theo đuổi một colormap cmocean mới hay một colormap cmocean được sửa đổi hay không.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Dear cmocean community,
Apologies, this is a rather long text.
My work involves plotting maps of sea ice. Because it is easily available and scientific, I have been using cmocean's "ice" quite a lot in the past. But some of its intrinsic characteristics have also led me look for alternatives. This post is to discuss the "ice" colormap for plotting sea ice fields (from models or satellite data).
By far, the key sea-ice variable we see plotted with cmocean.ice is sea-ice concentration (or sea-ice area fraction): the fraction of an ocean area that is covered with sea ice. A sea-ice concentration of 0 means there is no ice (only ocean). A sea-ice concentration of 1 means there is only ice (no ocean visible from above). A sea-ice concentration of 0.7 really means 0.7 ice on top of 0.3 ocean.
In our common imagination / representation ice is white and ocean is blue. A scientific colormap for sea-ice concentration should thus run from blue to white.
However, cmocean's 'ice' runs from very dark blue (almost black) to very light blue (almost white).
To me, the main issue with cmocean.ice when plotting sea-ice concentration (which is what we use it for 99% of the time) is that the high-end of the colormap is quite far from white. This is really blueish. Areas with a sea-ice concentration of 1 (as given by a forecast model or a satellite) do not look like fully ice-covered when plotted with cmocean.ice, because they are slightly blue, a color that is associated with some fraction of ocean (thus a sea-ice concentration below 1).
A second issue is that the low-end of the colormap is very dark, almost pitch black. This is sub-optimal for two reasons:
- a common representation is that the ocean is blue, not black.
- sea-ice concentration is the linear weigthing between no ice (ocean) and only ice (white). But the 'ice' colormap starts from black, runs through blues, and ends (close to) white. To me this does not convey well the linear mixing of more and more ice on top of the ocean. If we start from a black ocean, we should not be adding blue when adding ice, we should be adding white (and the colormap would be much closer to "gray".
Below are 3 maps of sea-ice concentration using 1) cmocean's ice,
2) matplotlib's Blues_r,
and 3) matplotlib's PuBu_r.
You can see for yourself the differences, and in particular how cmocean's ice does not end in white, which results in a general perception of less sea-ice concentration (more melt).
Personnaly I tend to prefer the third map (PuBu_r) because of the color of the ocean. But the main problem with Blues_r and PuBu_r is that they are NOT scientific colormaps (see matplotlib's doc), and we should be using scientific colormaps for scientific data.
All in all, I want to discuss the cmocean's "ice" colormap with the community. I do not know why it was designed this way, there are certainly very good reasons. This colormap is maybe perfect for other cryospheric applications (land ice? mountain glaciers? snow?) but for sea ice and in particular sea-ice concentration it is not optimal.
Another question to the cmocean developers is if there are routines in the cmocean package I could use to tweak the ice colormap to have the desired characteristics above (starting from a blue, ending much closer to white).
Finally, if it comes to this, should we collectively design a new scientific colormap for sea-ice concentration (how?) and could the new colormap enter future versions of cmocean if there is a broader interest.
Thank you for reading so far,
Thomas
- Ngôn ngữ chính
- Python
- Star
- 269
- Fork
- 54
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của matplotlib/cmocean
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 45/100
matplotlib/cmocean#120 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 50/100
matplotlib/cmocean#119 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 52/100
matplotlib/cmocean#118 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
matplotlib/cmocean#116 ·
-
wrong version of matplotlib?Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
matplotlib/cmocean#115 ·
Tất cả issue của matplotlib/cmocean
Issue tương tự
-
good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
vllm-project/vllm-metal#822 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
vector-store
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 90/100
mem0ai/mem0#7461 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: chunk_span_bounds and _validated_chunk_spans reject Pydantic models ChunkSpan and AudioFileĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
BasedHardware/omi#19047 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày