C3: Formes personnalisées pour les points

Créé le 20 mars 2015  ·  47Commentaires  ·  Source: c3js/c3

Ce serait formidable de pouvoir définir différentes formes (cercle, carré, triangle, étoile, ...) pour les points du graphique.

Ils sont 2 raisons principales pour cela:

  • Impression sur une imprimante à niveaux de gris
  • Les daltoniens

Certains sujets ont été créés sur le groupe Google sans réponse :
https://groups.google.com/d/topic/c3js/I2UhY4U6zI0/discussion
https://groups.google.com/d/topic/c3js/gZrpl0QpKYw/discussion
https://groups.google.com/d/topic/c3js/6QRQ1VWx3vw/discussion

La légende doit utiliser la même forme que celle définie pour les points.

Voici comment j'imagine la configuration :

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

ou, afin de définir d'autres attributs personnalisés :

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

Commentaire le plus utile

Tous ceux qui veulent cette fonctionnalité, veuillez vous abonner ou utiliser une réponse emoji au lieu de répondre +1.

Merci.

Tous les 47 commentaires

J'apprécierais vraiment cette fonctionnalité.

+1

majeur +1

+1

+1
Quelqu'un a-t-il trouvé un moyen d'y parvenir?

J'ai travaillé sur la mise en œuvre de formes personnalisées pour les points de tracé. J'ai implémenté des formes carrées et rectangulaires.
Voici mon travail :
https://github.com/prakulgupta/c3.js-CustomPlotPointShapes-Feature.git

J'espère que cela pourra aider les personnes qui ont besoin d'une fonction de forme personnalisée :+1 :

Merci @prakulgupta !
Pour obtenir différentes formes, j'ai dû exécuter une fonction d3 après la construction du graphique qui a directement changé les cercles en carrés. Je me sens dégoûtant. Mon plan était de simplement reconstruire notre nuage de points avec d3 droit. Je vais essayer ce dépôt !

+1 aimerait voir cela intégré également.

+1 indispensable

+1 serait génial !

@prakulgupta Cela ressemble à un très bon candidat pour une pull request ! Envisageriez-vous peut-être de le faire ? Merci!

je veux une forme de triangle :( , ou une flèche. Pour montrer le point dans le graphique à barres.

+1

+1

👍

J'ai trouvé la solution pour cela. Utilisez d3. C'est beaucoup plus facile que vous ne l'imaginez. Ex : http://bl.ocks.org/bunkat/2595950

Je dirais que ce n'est pas vraiment une solution.
Nous utilisons le tas de fonctions fournies par c3. Les réécrire en utilisant la bibliothèque native d3 n'est pas très utile.

+1, ce serait aussi bien d'avoir des types de points pour la légende

+1 !

+1

👍

+1

Tous ceux qui veulent cette fonctionnalité, veuillez vous abonner ou utiliser une réponse emoji au lieu de répondre +1.

Merci.

Quelque chose comme un mode de commutation entre ces deux types d'affichage des graphiques serait bien.

Pourriez-vous utiliser quelque chose comme https://github.com/d3/d3-shape#symbols pour y parvenir ?

Pour une autre solution avec nuage de points, voir ici : http://stackoverflow.com/a/41848255/1178015

+1

👍

👍

+1

+1

Quel est l'état de ce problème/demande ? C'est vraiment la seule chose qui m'empêche d'utiliser C3js et j'aimerais bien. A11y est une énorme préoccupation et les arguments concernant l'impression et le daltonisme sont valables. J'ai ajouté un coup de pouce l'année dernière, mais le fil est devenu silencieux en termes de solution. Est-ce quelque chose qui pourrait être en cours de développement ou cette demande est-elle refusée ?

Merci pour tout le travail incroyable et j'espère qu'une résolution est possible.

Il serait également utile s'il permettait plus que des symboles, par exemple des images ou des svg.
Par exemple, mettre en évidence certains ensembles de données en fonction de certains attributs serait vraiment bien.

Ce serait encore plus génial si cela pouvait permettre de définir une forme spécifique à un point spécifique d'un ensemble de données.
Exemple d'application : Sur un graphique de vitesse du vent (date en x, vitesse en y), cela permettrait de montrer la direction du vent sur chaque valeur (flèche directionnelle en forme de point).

+1

👍

👍

Veuillez voter pour le commentaire que vous aimez, au lieu de commenter +1 ou de pouce vers le haut, cela facilite le suivi du problème en ne spammant pas la boîte de réception de quiconque et en envoyant uniquement des messages sur les entrées pertinentes

👍

👍

👍

👍

Quelqu'un ayant une connaissance plus approfondie de la base de code c3 peut-il commenter la manière dont on pourrait implémenter ce changement ? Avec de tels conseils, peut-être que quelqu'un de la communauté se porterait volontaire pour assumer cette tâche.

Utilisez highcharts... Bien mieux : https://www.highcharts.com/blog/products/highcharts/

Des progrès attendus à ce sujet ? C'est presque un problème de 4 ans au moment d'écrire ces lignes.

@BrandKNY Ce projet n'est plus maintenu. billboard.js est la nouvelle branche active, mais cette fonctionnalité n'est pas prête dans billboard.js non plus

( ce problème est ancien/2015 ! mais aucun style de point n'existe sur https://c3js.org/reference.html)

Peut-être que la première étape consiste à inclure une petite amélioration à la place d'un grand saut vers "n'importe quelle forme"... Suggestion : comme dans data.colors , définition par jeu de données , offre l'option de définir le rayon du cercle comme objet,

 point: { 
    r: { data1: 5,   data2: 2.5 } 
} 
Cette page vous a été utile?
0 / 5 - 0 notes