C3: Пользовательские формы для точек

Созданный на 20 мар. 2015  ·  47Комментарии  ·  Источник: c3js/c3

Было бы здорово иметь возможность определять различные формы (круг, квадрат, треугольник, звезда, ...) для точек графика.

Это 2 основные причины этого:

  • Печать на черно-белом принтере
  • Дальтоники

Некоторая тема была создана в группе google без ответа:
https://groups.google.com/d/topic/c3js/I2UhY4U6zI0/обсуждение
https://groups.google.com/d/topic/c3js/gZrpl0QpKYw/обсуждение
https://groups.google.com/d/topic/c3js/6QRQ1VWx3vw/дискуссия

Легенда должна использовать ту же форму, что и для точек.

Вот как я себе представляю конфигурацию:

point: {
  shape: {
    'data1': 'circle',
    'data2': 'square',
    'data3': 'triangle'
  }
}

или, чтобы определить некоторые другие пользовательские атрибуты:

point: {
  'data1': {
    shape: 'circle',
    color: '#ff0000',
    r: 2
  },
  'data2': {
    shape: 'square',
    color: '#0000ff',
    r: 3
  }
}
C-feature-request R-needs-docs

Самый полезный комментарий

Все, кто хочет эту функцию, подпишитесь сами или используйте смайлик вместо ответа +1.

Спасибо.

Все 47 Комментарий

Я был бы очень признателен за эту функцию.

+1

майор +1

+1

+1
Кто-нибудь нашел способ добиться этого?

Я работал над реализацией пользовательских фигур для точек сюжета. Я реализовал квадратные и прямоугольные формы.
Вот моя работа:
https://github.com/prakulgupta/c3.js-CustomPlotPointShapes-Feature.git

Надеюсь, это может помочь людям, которым нужна функция пользовательской формы :+1:

Спасибо @prakulgupta !
Чтобы получить разные формы, мне пришлось запустить функцию d3 после того, как диаграмма построена, которая прямо изменила круги на квадраты.. Заставляет меня чувствовать себя отвратительно. Мой план состоял в том, чтобы просто перестроить наш точечный график с прямым d3. Попробую это репо!

+1 хотелось бы, чтобы это тоже было интегрировано.

+1 очень нужно

+1 было бы здорово!

@prakulgupta Похоже, это действительно хороший кандидат на пулл-реквест! Может быть, вы подумали бы об этом? Спасибо!

я хочу форму треугольника :( или стрелку. Чтобы показать точку на гистограмме.

+1

+1

👍

Я нашел решение для этого. Используйте д3. Это намного проще, чем вы можете себе представить. Пример: http://bl.ocks.org/bunkat/2595950

Я бы сказал, что это не совсем решение.
Мы используем целый набор функций, которые предоставляет c3. Переписывать их с помощью родной библиотеки d3 не очень полезно.

+1, также было бы здорово иметь типы точек для легенды

+1 !

+1

👍

+1

Все, кто хочет эту функцию, подпишитесь сами или используйте смайлик вместо ответа +1.

Спасибо.

Что-то вроде режима переключения между этими двумя типами отображения графиков было бы неплохо.

Не могли бы вы использовать что-то вроде https://github.com/d3/d3-shape#symbols для этого?

Другое решение с точечной диаграммой см. здесь: http://stackoverflow.com/a/41848255/1178015 .

+1

👍

👍

+1

+1

Каков статус этой проблемы/запроса? Это действительно единственное, что мешает мне использовать C3js, и я бы с удовольствием. A11y вызывает огромную озабоченность, и пункты о печати и дальтонизме верны. Я добавил палец вверх в прошлом году, но ветка замолчала с точки зрения решения. Это что-то, что может быть в текущей разработке, или этот запрос отклонен?

Спасибо за всю потрясающую работу и надеюсь, что решение возможно.

Также было бы полезно, если бы он позволял использовать не только символы, например, изображения или svg.
Например, выделение определенных наборов данных на основе некоторых атрибутов было бы очень удобно.

Было бы еще круче, если бы можно было установить определенную форму для определенной точки набора данных.
Пример применения: на графике скорости ветра (дата в x, скорость в y) это позволит показать направление ветра для каждого значения (направленная стрелка в виде точки).

+1

👍

👍

Пожалуйста, проголосуйте за комментарий, который вам нравится, вместо того, чтобы комментировать +1 или палец вверх, это упрощает отслеживание проблемы, не рассылая спам ничьим почтовым ящикам и отправляя сообщения только о соответствующем входе.

👍

👍

👍

👍

Может ли кто-нибудь с более глубоким знанием кодовой базы c3 прокомментировать, как можно реализовать это изменение? Учитывая такое руководство, возможно, кто-то из сообщества добровольно возьмет на себя эту задачу.

Используйте highcharts... Намного лучше: https://www.highcharts.com/blog/products/highcharts/

Ожидается ли какой-либо прогресс в этом? На момент написания этой статьи этому вопросу почти 4 года.

@BrandKNY Этот проект больше не поддерживается. billboard.js — это новая активная ветка, но эта функция не готова ни в billboard.js, ни

( эта проблема старая/2015! но на https://c3js.org/reference.html нет стиля точки)

Возможно , первым шагом является небольшое улучшение вместо большого перехода к «любой форме».

 point: { 
    r: { data1: 5,   data2: 2.5 } 
} 
Была ли эта страница полезной?
0 / 5 - 0 рейтинги