Tôi khuyên bạn nên sử dụng không gian màu HSV hoặc HSL, không phải không gian màu RGB, bởi vì HSV và HSL được cấu trúc tốt hơn để tạo ra màu sắc trông khác với con người. Bạn sẽ có nhiều công việc hơn trong RGB (mặc dù các chuyển đổi qua lại tồn tại, nếu bạn cần chúng).
Đây là những gì HSV / HSL trông giống như:
Khi sử dụng không gian màu HSV hoặc HSL, bạn có thể giả sử (rất đại khái) rằng sự khác biệt giữa các thành phần H (màu sắc) của hai màu là một xấp xỉ tốt về khoảng cách cảm nhận giữa các màu - tức là sự thay đổi màu sắc càng lớn màu sắc khác nhau sẽ nhìn vào con người. Bạn có thể thử chơi với S (bão hòa) và L / V (độ sáng / giá trị) để phát ra một vài màu rất khác nhau, nhưng chúng sẽ không khác nhau khi thay đổi giá trị giống nhau khi thay đổi màu sắc.
Tùy thuộc vào số lượng màu sắc riêng biệt mà bạn cần, bạn có thể chia không gian màu thành số lượng màu khác nhau. Ví dụ: nếu bạn có dải màu gồm 256 giá trị và bạn yêu cầu 16 màu riêng biệt, thì màu đầu tiên của bạn có thể là (0, 128, 128), màu thứ hai của bạn (16, 128, 128), v.v. Tôi hơi tùy tiện chọn các giá trị S / L ở giữa vì đây thường sẽ là ánh sáng và đủ bão hòa để thấy rõ sự khác biệt về màu sắc. Hệ thống này rất đơn giản và giả sử bạn không cần biết gì về sự phụ thuộc của màu sắc trong biểu đồ / bản đồ của bạn.
Nếu bạn không biết trước mình cần bao nhiêu màu riêng biệt nhưng bạn biết giới hạn trên và chia phạm vi màu thành các màu với giới hạn trên đó như trên vẫn cho bạn màu sắc khác nhau về nhận thức thì bạn có thể sử dụng cùng một hệ thống với giới hạn trên.
Nếu bạn (có thể) cần rất nhiều màu sắc riêng biệt, bạn vẫn có thể thoát khỏi việc sử dụng các màu rất giống nhau hoặc thậm chí cùng màu, miễn là chúng không xuất hiện gần các yếu tố khác của biểu đồ có màu tương tự. Điều này đòi hỏi phải biết tình huống phụ thuộc của bạn trong biểu đồ bạn đang hiển thị và có thể không phải lúc nào cũng đơn giản, và thậm chí sau đó có thể không phải là ý tưởng hay khi Dukeling chỉ ra trong các nhận xét: có thể gây nhầm lẫn cho người xem rằng cùng màu được sử dụng hai lần trong biểu đồ cho hai khái niệm khác nhau.
Vì vậy, cuối cùng trong tình huống phức tạp nhất, biểu đồ của bạn đủ phức tạp để bạn không có đủ không gian màu để đảm bảo bạn không kết thúc với các yếu tố riêng biệt với màu sắc quá giống nhau khi sử dụng hệ thống trên. Trong trường hợp này, bạn cần xây dựng một biểu đồ kề của các yếu tố của biểu đồ trực quan hóa của bạn. Điều chỉnh ở đây là một khái niệm mờ - bạn sẽ phải xác định nó chính xác cho tình huống thực tế của bạn. Ví dụ, trong ví dụ thứ hai của bạn, dữ liệu vào ngày 12 tháng 7 có một điểm bị sặc trong đó mọi màu đều liền kề với nhau. Một cách tiếp cận có thể giúp bạn nếu bạn có thể xây dựng biểu đồ kề là vấn đề tô màu biểu đồ - có những thư viện có thể giúp bạn - ví dụ boost :: graph trong C ++ .