Ещё один баг gRaphaël piechart: если чарт содержит только один сектор, занимающий все 360 градусов, то библиотека игнорирует настройку colors, делая круг синего цвета. Покопавшись в исходниках (g.pie-min.js) я дейтсвительно нашел, что заливка устаналивается в 2 разных местах (видимо, для случая цельного круга и нескольких секторов). И если в случае с несколькими секторами используется выражение:
o.colors&&o.colors[y]||c.colors[y]||"#666", которое пытается найти цвет в конфигурации, а затем - в цветах по-умолчанию, то для цельного круга видим:
fill:c.colors[0], т.е. сразу берется цвет по-умолчанию. Исправление этого фрагмента на:
fill:o.colors&&o.colors[0]||c.colors[0]решает проблему.
UP: посмотрел github проекта, соответствующее issue висит уже 2 года: https://github.com/DmitryBaranovskiy/g.raphael/issues/24.
Исправленная мной версия кода тут: https://raw.github.com/barbitoff/g.raphael/master/g.pie.js (не минимизированный файл) и тут: https://raw.github.com/barbitoff/g.raphael/master/min/g.pie-min.js (минимизированный).
Комментариев нет:
Отправить комментарий