Есть ли хороший алгоритм для генерации цветов для использования в графиках, таких как линейные/пивные/гистограммы? Практически все графики имеют встроенный список цветов, которые они автоматически присваивают элементам, добавленным к нему. Но иногда вам нужно вручную назначать цвета самостоятельно, и в этом случае вы захотите не вручную вставлять цвета самостоятельно, что отнимает много времени и, вероятно, будет иметь плохие результаты, тогда как алгоритм, вероятно, может сделать это намного лучше.Существуют ли алгоритмы генерации цвета?
Цвета, генерируемые должны обладать следующими свойствами:
легко дифференцируемое друг от друга: как все больше и больше элементов добавляются вероятность путаницы и ошибок-интерпретация поднимается. Поэтому важно, чтобы цвета были максимально легко различимы друг от друга, особенно цвета, близкие друг к другу в списке цветов. Конфликты приемлемы, хотя, очевидно, их желательно избегать.
Содержат первые классические цвета: когда несколько элементов присутствуют в виде графика, красный, синий, darkorange, зеленый, серый цвета предпочтительно должен прийти первым, и менее легко различимы те после.
В настоящее время я просто используя список цветов, я нашел где-то, и если у меня есть больше элементов, чем в списке цветов, список повторно, в результате чего иногда в цветовых коллизий.
$default_colors = array(
"#4684ee", "#dc3912", "#ff9900", "#008000", "#666666",
"#4942cc", "#cb4ac5", "#d6ae00", "#336699", "#dd4477",
"#aaaa11", "#66aa00", "#888888", "#994499", "#dd5511",
"#22aa99", "#999999", "#705770", "#109618", "#a32929",
);
Есть ли такая функция там? Я посмотрел, но мой google-fu не был достаточно сильным.
Мое собственное мнение было бы в том, что список цветов - это путь. Таким образом, вы полностью контролируете, какие цвета выбраны. Если в вашем списке цветов есть, скажем, 24 члена, это должно быть намного больше, чем вам когда-либо понадобится - график, который зависит от различимости 25 цветов, имеет серьезные проблемы. –