@privat13

Реально ли сделать лепестковую диаграмму с градиентом?

Добрый день, друзья.

Задался вопросом. Можно ли красить лепестковую диаграмму сложным градиентом?
Каждой вершине фигуры назначается свой конкретный цвет, а внутри уже автоматом как-то все это окрашивается. пример ниже. Если вы уже делали подобное, то подскажите какой инструмент использовали.

66d007ebee8e3218048951.png
  • Вопрос задан
  • 174 просмотра
Решения вопроса 2
Fragster
@Fragster
помогло? отметь решением!
Это можно сделать с помощью svg meshgradient, полноценный пример мне делать лень, но в двух словах - рисуем треугольниками, а в меше градиента совмещаем две точки, чтобы он тоже стал треугольником.
https://svgwg.org/svg-next/pservers.html#MeshGradi... но он не везде поддерживается, так что нужен полифилл https://codepen.io/FragsterAt/pen/LYKBmNR (взял из того, как Inkscape сохраняет)
Ответ написан
sfi0zy
@sfi0zy Куратор тега CSS
Creative frontend developer
В CSS и SVG есть какие-то градиенты и фильтры, из которых можно что-то такое плюс-минус собрать. Ну и вариации clip-path или масок, чтобы обрезать. Но. Логика формирования градиентов там своя, и она не всегда хорошо подходит под идею, как оно должно выглядеть. Иногда все мешается очень грязно, или какие-то полосы появляются. Не идеально там все. Много костылей нужно подставлять. Если будет нужна какая-то совсем особая интерполяция - то от количества костылей и подпорок тошно станет. Один раз подогнать можно, но с автоматизацией могут возникнуть сложности. А задача построения диаграмм почти всегда требует автоматизации. Это может быть не совсем очевидно с самого начала, но усугубляется там все очень быстро. Так что может иметь смысл сразу брать canvas и делать свою логику под свои хотелки. Там мы нарисовать можем что угодно, мы уже не зависим от браузера и его представлений о градиентах. Это более сложное решение в своей основе, чем подбор градиентов в SVG, но более перспективное в плане его дальнейшего развития.

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы