idiomatisches Zeichnen eines Dreiecks in d3

8

Ich habe den folgenden Code, der ein Dreieck in d3 zeichnet:

%Vor%

Hier ist ein jsbin , das es in Aktion zeigt.

Ich bin neugierig zu wissen, ob dies der beste Weg in diesem d3 ist oder gibt es einen besseren Weg?

    
dagda1 28.09.2015, 20:43
quelle

3 Antworten

6

Mike Bostock, der Schöpfer von D3, denkt, dass das, was du tust, die beste Methode ist: Ссылка

  

Ja, wahrscheinlich würde ich hier ein Pfadelement mit einem benutzerdefinierten "d" -Attribut verwenden.

     

Eine weitere Option zum Zeichnen von Dreiecken, aber mehr für   Streudiagramme, verwenden Sie d3.svg.symbol. Siehe die Dokumentation hier:

     

Ссылка

    
Kyle R 28.09.2015, 20:52
quelle
5

Es gibt eine eingebaute Komfortfunktion zum Zeichnen verschiedener Symbole zur Verwendung in Streudiagrammen, wie angegeben von Kyle R. Wenn Sie nur ein gleichseitiges Dreieck zeichnen möchten, dann könnte dies verwendet werden.

Die Funktion kann wie folgt verwendet werden:

%Vor%

Sie können die Größe des Symbols auch festlegen, indem Sie den Funktionsaufruf size(100) anfügen.

Wenn Sie eine andere Form des Dreiecks zeichnen möchten, können Sie entweder:

  1. Zeichnen Sie ein path -Element und verwenden Sie das d -Attribut. Pfadelement erklärt .
  2. Zeichnen Sie polygon oder polyline mit einem points -Attribut (wie in Ihrem Beispiel).

Um das Attribut d zu verwenden. Ich habe deinen JS Bin gegabelt, um es zu demontieren. Das Schlüssel-Snippet lautet wie folgt:

%Vor%     
GordyD 28.09.2015 21:24
quelle
5

Ein weiteres Beispiel mit v4 Formsymbolen :

%Vor%

Einige Anmerkungen:

  • die Größe der Form scheint ein Bereich zu sein
  • Die Form ist um [0, 0]
  • zentriert

Das obige Beispiel versucht, den oberen Punkt des gleichseitigen Dreiecks anstatt des Mittelpunkts zu übersetzen, daher der zusätzliche Betrag zum "y" -Teil der Übertragung.

    
Glenn 15.07.2016 00:42
quelle

Tags und Links