Laden...

Skalierbare "Bars" in SVG...wie zu realisieren?

Erstellt von BenFire vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.671 Views
B
BenFire Themenstarter:in
50 Beiträge seit 2006
vor 17 Jahren
Skalierbare "Bars" in SVG...wie zu realisieren?

Hallo Leute,

wie der Name des Themas schon sagt hab ich Probleme beim skalieren von Bars.
Kurz zur Sachlage:
Ich möchte die Inhalte aus meiner Datenbank grafisch darstellen.
Um das ganze auch visuell zu verdeutlichen wollte ich dies mithilfe von skalierbaren "Bars" machen.
Sprich wenn ich 100stück habe dann ist der "Bar" 1cm groß und bei 1000Stück 10cm.
Ich habe deshalb zunächst ersteinmal ein SVG - File erzeugt, welches die Grunddaten enthält....sprich die X-Y - Achsen der Grafik, da diese ja immer gezeichnet werden müssen...egal was ausgewertet wird.
Und nun möchte ich in das vorher erzeugte (ich nenne es jetzt mal) Standard-SVG File noch die Bars einfügen.
Kann mir jemand von euch einen Tip geben, wie man soetwas am elegantesten macht?
Es ist doch bestimmt nicht schick, wenn ich in meinem Programm den SVG - Code angebe und dann für width und heigth ein paar Parameter einfüge.
Ich habe von SVG bis jetzt noch nicht wirklich viel Ahnung, deswegen wäre es hilfreich für mich, wenn Ihr mir da ein paar Tips geben könnten, wie ihr soetwas realisieren würdet.
Vielen Dank.

Ben

1.271 Beiträge seit 2005
vor 17 Jahren

Hallo BenFire,

Du musst uns mehr Infos geben: Mit was arbeitest du (außer SVG)? ASP.NET, PHP, JSP, ...? Also ich geh davon aus, dass es um eine Webanwendung geht. Oder lieg ich da falsch?
Ansonsten muss ich dir sagen, dass SVG eigentlich nicht allzu gut geeignet ist: Es gibt noch kaum wirklich gute Umsetzungen, vor allem bei den Browsern. Vielleicht solltest du nochmal überdenken, ob du das nicht anders angehst.

Ich hoffe, ich konnte dir helfen!

Gruß,
Thomas

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

B
1.529 Beiträge seit 2006
vor 17 Jahren

Es gibt noch kaum wirklich gute Umsetzungen, vor allem bei den Browsern.

Soweit ich weiß, kann nur der IE6 kein SVG. Wie es mit dem 7er aussieht, kann ich nicht sagen.

1.271 Beiträge seit 2005
vor 17 Jahren

Original von Borg
Soweit ich weiß, kann nur der IE6 kein SVG. Wie es mit dem 7er aussieht, kann ich nicht sagen.

Ich bin mir ziemlich sicher, dass auch in der 7er Version des Internet Explorers keine Unterstützung für SVG ist. Wenn überhaupt kommt dies erst in einer späteren Version. So viel ich weiß ist etwas für IE7.2 geplant. Ich muss dazu aber sagen, dass es auch schon für IE7 geplant war.

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

B
BenFire Themenstarter:in
50 Beiträge seit 2006
vor 17 Jahren

Sorry, hatte ich vergessen zu erwähnen,...ich Programmiere mit C#
Und nein es soll keine Webanwendung werden.
Ich will mir wie gesagt nur den Inhalt meiner Datenbank (verschiedene Abfragen)
visualisieren lassen.
Das SVG - File kann ich ja ohne Probleme auch aus dem C# heraus öffnen lassen.

1.271 Beiträge seit 2005
vor 17 Jahren

Hallo BenFire,

Wenn du sowieso eine C#-Anwendung hast, würde ich an deiner Stelle das visualisieren der Daten selbst mit GDI+ übernehmen. Das ist nicht recht viel komplizierter und du sparst dir damit einige Inkompatibilitäten bei der Darstellung von SVG (was zum Beispiel wenn beim Nutzer keine Anwendung zum Betrachten von SVG-Grafiken vorhanden ist? Mitliefern?). Schau dir vielleicht mal [Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox) an. Das könnte dir helfen.

Gruß,
Thomas

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

B
BenFire Themenstarter:in
50 Beiträge seit 2006
vor 17 Jahren

Ich gehe aber davon aus, dass SVG fähigkeit unterstützt wird.
Deshalb versuch ich meine Frage noch einmal zu konkretisieren.
Erstelle ich jetzt für das Zeichnen der Bars eine extra Klasse?
Ggf möchte ich ja nicht nur einen sondern auch mehrere zeichnen.
Und wie übergebe ich dem folgenden Balken die Koordinaten des davor gezeichneten, damit dieser "weiß" , von der aus er erst zeichnen darf?

1.271 Beiträge seit 2005
vor 17 Jahren

Hallo BenFire,

Wenn du es wirklich so machen willst: Am besten du fügst den SVG-Code einfach in deinem Programm zusammen. Das kannst du entweder mit einer Klasse machen, der du alle nötigen Informationen gibt und dir dann dein Diagramm bastelt (die geschicktere Variante) oder mit einer einfachen Methode. Die x-Koordinaten würde ich an deiner Stelle in einer Variable speichern und dann immer erhöhen wenn du zum nächsten Balken gehst. Den Rest müsstest du eigentlich selbst zusammenbringen.

Gruß,
Thomas

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.