AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TChart - 3 Variabeln

Ein Thema von Asura · begonnen am 5. Jan 2018 · letzter Beitrag vom 6. Jan 2018
Antwort Antwort
Seite 1 von 2  1 2   
Asura

Registriert seit: 10. Jun 2013
87 Beiträge
 
#1

TChart - 3 Variabeln

  Alt 5. Jan 2018, 01:23
Guten Tag,

ich besitze die vorinstallierte Version von TChart.
Ich habe drei Variabeln: Getränkenamen, Usernamen und Menge der gekauften Getränke.
Ich habe mir überlegt, dass mit dem Bubbles Diagramm darzustellen.
Y-Achse: Getränkenamen
X-Achse: Username
Größe der Bubbles: Anzahl

Nur leider kann man ja keine festen String als Wert festlegen, sondern nur double-Werte.

Wie könnte man dieses Problem angehen? Welche Optionen würden mir noch bleiben, um dies darzustellen?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.023 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 07:29
Hallo,
den String in Float umwandeln? (StringToFloat).

Zeig mal den Code, den du schon hast.
Heiko

Geändert von hoika ( 5. Jan 2018 um 07:42 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.786 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 09:20
Ich bin jetzt kein Fachmann für Blasendiagramme, aber alle Beispiele die mir das Internet zeigt haben auch Zahlen auf der X- und Y-Achse.

Mit dem T-Chart kannst du ja trotzdem einfach z.B. bei x=1 die Werte von Benutzer=Günther einmalen und dann die Achse an der Stelle halt nur mit "Günther" statt "1" beschriften.

Ein Chart hat dazu ein OnGetAxisLabel -Event, oder so ähnlich.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.167 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 09:58
Hallo,
den String in Float umwandeln? (StringToFloat).

Zeig mal den Code, den du schon hast.
Viel Erfolg bei StrToFloat('Getränkenamen')
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.939 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 13:09
Die Y-Achse hatte ich auch irgendwo schonmal mit Namen, aber für X war immer irgendein nummerischer Wert nötig.

Alias?
Wenn es bei TChart möglich ist, die Werte der Anzeigen zu ändern (GetText-Events gibt es doch fast überall) dann könntest du den Chart mit Zahlen aufbauen (die Namen einfach durchnummerieren) und dann für die Anzeige mit dem Namen überschreiben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.933 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 15:52
In der Series kannst du über DataSource - Manual für jeden Datenpunkt einen Text, einen Y-Wert und den Radius angeben. Für den Text könnte man nun den Usernamen nehmen, während für den Y-Wert zunächst nur ein Index für den Getränkenamen angegeben werden kann. Der Radius kann dann wieder der tatsächlichen Menge entsprechen.

Um die Texte dann auf der X-Achse darzustellen, muss in Chart - Axis - BottomAxis - Labels - Style - Style die Option Text ausgewählt werden.

Die Texte bei der Y-Achse sind etwas aufwändiger: Hier muss erst unter Chart - Axis - LeftAxis - Labels - Style - Style die Option Point Value ausgewählt werden. Dann im oberen Tab auf Items wechseln. Hier das Automatic ausschalten und für jeden Value den passenden Getränkenamen als Text eintragen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Asura

Registriert seit: 10. Jun 2013
87 Beiträge
 
#7

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 17:51
Gut ich habe mal die Einstellungen getroffen.

Delphi-Quellcode:
procedure TF_UsersStatistic.LoadUserStatistic(Query: TADOQuery);
var Bubble: TBubbleSeries;
begin

  Query.SQL.Clear;
  Query.SQL.Add('SELECT DISTINCTROW usr_users.usr_ID, usr_users.usr_Username, bev_beverages.bev_ID, bev_beverages.bev_name, Sum(odt_details.odt_Count) AS [Anzahl]');
  Query.SQL.Add('FROM bev_beverages INNER JOIN ((usr_users INNER JOIN ord_orders ON usr_users.[usr_ID] = ord_orders.[ord_usr_ID]) INNER JOIN odt_details ON ord_orders.[ord_id] = odt_details.[odt_ord_ID]) ON bev_beverages.[bev_ID] = odt_details.[odt_bev_ID]');
  Query.SQl.Add('GROUP BY usr_users.usr_ID, usr_users.usr_Username, bev_beverages.bev_ID, bev_beverages.bev_name');
  Query.Open;
  Query.First;

  Bubble := TBubbleSeries.Create(Self);
  Bubble.ParentChart := Chart;

  while Query.Eof do
    begin
      with Bubble do
        begin
          AddBubble(Query.FieldByName('usr_users.usr_ID').AsFloat, Query.FieldByName('bev_beverages.bev_ID').AsFloat, Query.FieldByName('Anzahl').AsFloat);
        end;
      Query.Next;
    end;

end;
Ich wollte mich erstmal an den Versuch wagen mit den Zahlen zu arbeiten, um dann in nachhinein die Einstellungen zu treffen.
Leider stellt er gar nichts dar und ich wundere mich, dass hier nicht mal ein Bubble angezeigt wird. Jemand vllt eine Idee, weshalb da gar nichts angezeigt wird?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.023 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 23:05
Hallo,
baue dir erst mal ein Beispiel-Projekt ohne DB-Anbindung
mit fest definierten Werten.

Wenn das klappt, vergleiche es mit Deiner Version (deinen Daten).
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.939 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: TChart - 3 Variabeln

  Alt 5. Jan 2018, 23:28
baue dir erst mal ein Beispiel-Projekt ohne DB-Anbindung
Das tut er doch?
Die Datasource ist nicht mit dem Chart verbunden.

Im Prinzip macht es ja keinen Unterschied, wo die Werte her kommen.
AddBubble wird manuell aufgerufen.

mit fest definierten Werten.
Nja, man könnte das als fest definierte Werte ansehn.
Im Debugger lässt sich prüfen, ob die Werte stimmen
und er kann zum Test auch noch ein DBGrid an die DataSource binden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 6. Jan 2018 um 01:46 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.950 Beiträge
 
Delphi 7 Professional
 
#10

AW: TChart - 3 Variabeln

  Alt 6. Jan 2018, 09:36
muss das  while Query.Eof do nicht  while not Query.Eof do heißen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf