Hướng dẫn python continuous colorbar - thanh màu liên tục python
Mục tiêu là tạo ra một colormap liên tục từ các cặp giá trị cụ thể và màu RGB. Show Example:
Giả sử tôi muốn có được màu cho giá trị 15, màu được lấy sẽ là sự pha trộn mờ nhạt của (252, 223, 3) và (35, 224, 13). Trong trường hợp của tôi, màu sẽ là (143, 223, 8). Tôi muốn có được màu chính xác cho các giá trị từ 1 đến 20. Bạn có thể chạy mã này để có được màu tính toán:
Ý tưởng của tôi là tạo ra nhiều colormaps và định mức và kết hợp chúng thành một. Nhưng đây chỉ là một ý tưởng rộng. Có ai đó có ý tưởng làm thế nào để giải quyết nhiệm vụ? Bất kỳ trợ giúp đánh giá cao Tất cả mọi thứ tôi tìm thấy cho đến nay, là sử dụng các màu sắc riêng biệt, thay vì chuyển tiếp liên tục. Ghi chú Nhấn vào đây để tải xuống mã ví dụ đầy đủhere to download the full example code Hướng dẫn này cho thấy cách xây dựng và tùy chỉnh các màu độc lập, tức là không có sơ đồ đính kèm. Một Thanh màu liên tục cơ bản#Ở đây chúng tôi tạo ra một thanh màu liên tục cơ bản với ve và nhãn. Các đối số cho cuộc gọi 0 (được xây dựng bằng cách sử dụng các đối số định mức và CMAP), các trục cần rút thanh màu và hướng của ColorBar.Để biết thêm thông tin, hãy xem API Thanh màu mở rộng với màu sắc liên tục#Ví dụ thứ hai cho thấy cách tạo một thanh màu riêng biệt dựa trên CMAP liên tục. Với đối số từ khóa "mở rộng", các màu thích hợp được chọn để lấp đầy không gian màu, bao gồm các phần mở rộng: fig, ax = plt.subplots(figsize=(6, 1)) fig.subplots_adjust(bottom=0.5) cmap = mpl.cm.viridis bounds = [-1, 2, 5, 7, 12, 15] norm = mpl.colors.BoundaryNorm(bounds, cmap.N, extend='both') fig.colorbar(mpl.cm.ScalarMappable(norm=norm, cmap=cmap), cax=ax, orientation='horizontal', label="Discrete intervals with extend='both' keyword") Khoảng thời gian riêng biệt colorbar#Ví dụ thứ ba minh họa việc sử dụng 4 tạo ra colormap từ một tập hợp các màu được liệt kê, 5 tạo ra chỉ số colormap dựa trên các khoảng thời gian riêng biệt và các đầu mở rộng để hiển thị màu "trên" và "dưới". Trên và dưới được sử dụng để hiển thị dữ liệu bên ngoài phạm vi [0, 1] được chuẩn hóa. Ở đây chúng tôi vượt qua màu sắc dưới dạng màu xám khi một chuỗi mã hóa một float trong phạm vi 0-1.Nếu 4 được sử dụng, độ dài của mảng giới hạn phải lớn hơn chiều dài của danh sách màu. Các giới hạn phải được tăng đơn điệu.Lần này chúng tôi chuyển các đối số bổ sung cho 5, chúng tôi phải sử dụng đối số từ khóa mở rộng trực tiếp trong cuộc gọi colorbar. Ở đây chúng tôi cũng sử dụng đối số khoảng cách để làm cho độ dài của từng phân đoạn colorbar tỷ lệ với khoảng tương ứng của nó.fig, ax = plt.subplots(figsize=(6, 1)) fig.subplots_adjust(bottom=0.5) cmap = (mpl.colors.ListedColormap(['red', 'green', 'blue', 'cyan']) .with_extremes(over='0.25', under='0.75')) bounds = [1, 2, 4, 7, 8] norm = mpl.colors.BoundaryNorm(bounds, cmap.N) fig.colorbar( mpl.cm.ScalarMappable(cmap=cmap, norm=norm), cax=ax, extend='both', ticks=bounds, spacing='proportional', orientation='horizontal', label='Discrete intervals, some other units', ) Colorbar với độ dài tiện ích mở rộng tùy chỉnh#Ở đây chúng tôi minh họa việc sử dụng các phần mở rộng thanh màu dài tùy chỉnh, trên một thanh màu với các khoảng thời gian riêng biệt.Để làm cho chiều dài của mỗi phần mở rộng giống như chiều dài của các màu bên trong, hãy sử dụng 9.fig, ax = plt.subplots(figsize=(6, 1)) fig.subplots_adjust(bottom=0.5) cmap = (mpl.colors.ListedColormap(['royalblue', 'cyan', 'yellow', 'orange']) .with_extremes(over='red', under='blue')) bounds = [-1.0, -0.5, 0.0, 0.5, 1.0] norm = mpl.colors.BoundaryNorm(bounds, cmap.N) fig.colorbar( mpl.cm.ScalarMappable(cmap=cmap, norm=norm), cax=ax, extend='both', extendfrac='auto', ticks=bounds, spacing='uniform', orientation='horizontal', label='Custom extension lengths, some other units', ) plt.show() Phòng trưng bày được tạo ra bởi Sphinx-Gallery |