Grafik (Chart)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Grafik (Chart)

Mesaj gönderen ASE »

Arkadaşlar Merhaba.
Benim String olan bir alanın istatistiklerini grafikle göstermem lazım ama henüz yapabilmiş değilim.
Yani adı alanında kaç tane ahmet var gibi. Bu konuda TChart ya da TDBChart isteklerimi karşılamıyor çünkü sadece integer ve date alanları grafikle gösterebiliyor. Herkese kolay gelsin.
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

istatistik deyince işin içinde sayı olması lazım. Örnek veri yazabilir misin? Nasıl bir veri göstermek istiyorsun. Sadece string'lerden oluşan bir garfik pek anlamlı olmaz zaten.

Kolay gelsin.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Kod: Tümünü seç

Select AD, count(*) as ADET
from TABLO
group by AD
şeklinde bir query ile butun adlardan kacar tane oldugunu alıp bunun grafigini almalısınız. Alanlarınızı numerik degerlere bir yontemle sizin donusturmeniz lazim. Grafik sonucta rakamlar uzerinden hesaplanabilecegi icin alternatif bir yontem arayısı gereksiz...
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Sanırım yine eksik anlattım yapmak istediğin şeyi.
Ben bu alanda hangi değerden kaç tane olduğunu almada sorun yaşamıyorum. (Fahrettin abi kod için teşekkürler). Benim yapmak istediğim şey x ekseninde isimler yazacak y ekseninde de bu isimnlerim adetleri yazacak ve bunu grafikle göstereceğim ama delphi üzerindeki chatr bileşenlerinin her iki ekseninde de integer ya da date değerler verebiliyoruz. Yani string alanlar seçme kutularında dahi gözükmüyor.
Yani yan tarafta barda
Ahmet : 10
Mehmet: 22
gibi ve
grafikte de

soldan sağa doğru ahmet yukarı doğruda bu isimlere ait sayı ve sütun yüksekliklerini görmek istiyorum.
Herkese kolay gelsin
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

benim de tahmin ettiğim gibi. Bu istediğini yapabilirsin. Tarih ve string verebilirsin, bir sorun olmaması lazım.

$(Delphi)\Demos klasörü içinde Teechart örenği var, onu bir incelemeni tavsiye ederim. Tüm grafik tipleri için örnekler var. Eğer çözemezsen kodunu gönder bir bakalım.

Kolay gelsin.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

forma bir chart ekleyip bunu yaptım benimde işime yarayabilecek güzel bir uygulama oldu :))

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var sIsim:string;
    iCount,i:integer;
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select BatchNo, count(*) as ADET');
Query1.SQL.Add('from myARSIVTable');
Query1.SQL.Add('group by BatchNo');
Query1.Prepare;
Query1.Open;

Query1.First;
i:=1;
while not Query1.Eof do
  begin
    sIsim:= query1batchno.AsString;
    iCount:= query1adet.AsInteger;
    DBChart1.Series[0].AddXY(i,iCount,sIsim);
    Query1.Next;
    inc(i);
  end;

end;
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Benim burada yapmaya çalıştığım şey aslında günlük hayatta sıkça karşılaştığımız grafiklerden çok farklı değil. Burada access veri tabanı olan bir programın var ve kişilerin bilgileri giriliyor.
Bu tabloyla ilgili bir kaç grafik oluşturmam gerekiyor.
Yani doğum yerleri TOKAT tRABZON VE SAMSUN olanları sayısal olarak grafiğe dökmem gerekiyor. Ancak chat bileseninde alan seçerken Query ile bu alandaki TOKAT TRABZON ve SAMSUN ları 1 e indirip karşılarına sayılarını yazdırdığım halde x eksenine TOKAT TRABZON ve SAMSUN değerlerini atamıyorum.
Yapmak istediğimi access üzerinde kolayca yapabiliyorum ama delphi üzerinde başaramadım. Her elime aldığım zaman sonra yaparım diye geriye bıraktım ancak sonuna dayandım şu an. Artık yapmam gerekiyor ama olmadı. Bu ara MEGE nin gönderdiğ kod da bu işi görmüyor herkese kolay gelsin...
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

bence bir kod hatanız fallan var.. benim gönderdiğimde sIsım yazan yer X ekseni ismi.. ve program çalıştırdığımda o X ekseni isimlerini ben görebiliyorum..

ayrıca tanımladığınız seriesi dikey bar yapmazsanızda bişeye benzemez..

kodu size gönderiyim en iyisi gerekirse bir bakarsınız...
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Mege kardeşim
Senden sonsuz derecede özür dilerim. Gönderdiğin kodun işimi görmediğini yazarken aslında benim veri tabanımdaki bir SQL farklılığını göz ardı etmişim cevabı yazdıktan sonra farkettim bende.
Kodları maille atmışsın ama bu makinada delphi kurulu olmadığı için bakamıyorum. Çok teşekkürler her şey için. Gönderdiklerin problemi çözmüştü zaten.
Kolay gelsin....
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Cevapla