C3: Benutzerdefinierte Formen für Punkte

Erstellt am 20. März 2015  ·  47Kommentare  ·  Quelle: c3js/c3

Es wäre toll, verschiedene Formen (Kreis, Quadrat, Dreieck, Stern, ...) für die Diagrammpunkte definieren zu können.

Sie sind 2 Hauptgründe dafür:

  • Drucken auf einem Graustufendrucker
  • Farbenblinde Menschen

Einige Themen wurden ohne Antwort in der Google-Gruppe erstellt:
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

Die Legende sollte dieselbe Form verwenden wie die für die Punkte definierte.

So stelle ich mir die Konfiguration vor:

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

oder, um einige andere benutzerdefinierte Attribute zu definieren:

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

Hilfreichster Kommentar

Alle, die diese Funktion möchten, abonnieren Sie bitte entweder selbst oder verwenden Sie eine Emoji-Antwort, anstatt auf +1 zu antworten.

Danke.

Alle 47 Kommentare

Ich würde diese Funktion sehr zu schätzen wissen.

+1

Haupt +1

+1

+1
Hat jemand einen Weg gefunden, dies zu erreichen?

Ich habe an der Implementierung benutzerdefinierter Formen für Plotpunkte gearbeitet. Ich habe quadratische und rechteckige Formen implementiert.
Hier ist meine Arbeit:
https://github.com/prakulgupta/c3.js-CustomPlotPointShapes-Feature.git

Ich hoffe, dies kann Leuten helfen, die eine benutzerdefinierte Formfunktion benötigen: +1:

Danke @prakulgupta !
Um verschiedene Formen zu erreichen, musste ich nach dem Erstellen des Diagramms eine d3-Funktion ausführen, die die Kreise direkt in Quadrate umwandelte. Ich fühle mich ekelhaft. Mein Plan war es, unser Scatterplot einfach mit geradem d3 neu aufzubauen. Werde das Repo ausprobieren!

+1 würde dies auch gerne integriert sehen.

+1 dringend benötigt

+1 wäre toll!

@prakulgupta Das sieht nach einem wirklich guten Kandidaten für einen Pull-Request aus! Würden Sie das vielleicht in Betracht ziehen? Danke!

Ich möchte eine Dreiecksform :( oder eine Pfeilmarkierung. Um den Punkt in einem Balkendiagramm anzuzeigen.

+1

+1

👍

Ich habe die Lösung dafür gefunden. Verwenden Sie d3. Es ist viel einfacher, als Sie sich vorstellen können. Beispiel: http://bl.ocks.org/bunkat/2595950

Ich würde sagen, dass dies nicht wirklich eine Lösung ist.
Wir verwenden die ganze Reihe von Funktionen, die c3 bietet. Sie mit der nativen d3-Bibliothek neu zu schreiben, ist nicht sehr nützlich.

+1, es wäre auch toll, Punkttypen für die Legende zu haben

+1 !

+1

👍

+1

Alle, die diese Funktion möchten, abonnieren Sie bitte entweder selbst oder verwenden Sie eine Emoji-Antwort, anstatt auf +1 zu antworten.

Danke.

So etwas wie ein Umschaltmodus zwischen diesen beiden Darstellungsarten der Graphen wäre nett.

Könnten Sie so etwas wie https://github.com/d3/d3-shape#symbols verwenden, um dies zu erreichen?

Eine andere Lösung mit Punktdiagramm finden Sie hier: http://stackoverflow.com/a/41848255/1178015

+1

👍

👍

+1

+1

Wie ist der Stand dieses Problems/dieser Anfrage? Dies ist wirklich das einzige, was mich daran hindert, C3js zu verwenden, und ich würde es gerne tun. A11y ist ein großes Problem und die Punkte zu Drucken und Farbenblindheit sind gültig. Ich habe letztes Jahr einen Daumen nach oben hinzugefügt, aber der Thread ist in Bezug auf eine Lösung verstummt. Befindet sich dies möglicherweise in der aktuellen Entwicklung oder wird diese Anfrage abgelehnt?

Danke für all die tolle Arbeit und hoffe, dass eine Lösung möglich ist.

Es wäre auch nützlich, wenn es mehr als Symbole erlauben würde, zB Bilder oder SVG.
Zum Beispiel wäre das Hervorheben bestimmter Datensätze basierend auf einigen Attributen wirklich nett.

Es wäre noch genialer, wenn es möglich wäre, eine bestimmte Form an einem bestimmten Punkt eines Datensatzes festzulegen.
Beispielanwendung: Auf einem Windgeschwindigkeitsdiagramm (Datum in x, Geschwindigkeit in y) würde es möglich sein, die Richtung des Windes auf jedem Wert anzuzeigen (Richtungspfeil als Punktform).

+1

👍

👍

Bitte bewerten Sie den Kommentar, der Ihnen gefällt, anstatt +1 oder Daumen nach oben zu kommentieren, es macht es einfacher, dem Problem zu folgen, indem Sie niemanden in den Posteingang spammen und nur Nachrichten über relevante Eingaben senden

👍

👍

👍

👍

Kann jemand mit tieferen Kenntnissen der c3-Codebasis kommentieren, wie man diese Änderung implementieren könnte? Angesichts einer solchen Anleitung würde sich vielleicht jemand aus der Gemeinde freiwillig melden, um diese Aufgabe zu übernehmen.

Verwenden Sie Highcharts ... Viel besser: https://www.highcharts.com/blog/products/highcharts/

Irgendwelche Fortschritte in dieser Hinsicht zu erwarten? Dies ist zum jetzigen Zeitpunkt ein fast 4 Jahre altes Problem.

@BrandKNY Dieses Projekt wird nicht mehr gepflegt. billboard.js ist der neue aktive Zweig, aber diese Funktion ist auch in billboard.js nicht bereit

( Diese Ausgabe ist alt/2015! aber unter https://c3js.org/reference.html existiert kein Punktstil.)

Vielleicht ist der erste Schritt, eine kleine Verbesserung einzufügen, anstatt einen großen Sprung zu "beliebiger Form" ... Vorschlag: wie in data.colors , Definition pro Datensatz , Option anbieten, Kreisradius als Objekt zu definieren,

 point: { 
    r: { data1: 5,   data2: 2.5 } 
} 
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen