Covid-19 hastalığının zaman içinde ülkelerdeki artışı

Doğru, bu site için sıkıntı yok. Benim yaptığım parent’den child’e gitme işlemi uzun vadede sıkıntı olasılığını azaltıyor.

1 Beğeni

Gerektiği durumlarda (siteye bağlı olarak), dediğiniz şekilde parent’ten child’e gidilebilir.

Sizce vaka ve ölüm sayıları aynı ekranda olursa mı daha güzel görünür, yoksa yukarıda paylaştığım grafikler mi daha güzel görünüyor?

Üst üste değil de yan yana yapsak iyi olur sanki, ekranın uzunluğunu arttırırız.

Bir bakın bakalım. Bir de şunu söyleyeyim, kurtarılmış insan verilerini tamamladıkları zaman, üçüncü bir grafik daha eklenecek. ona göre bu grafiği bir gözünüzde canlandırmaya çalışabilir misiniz?

Bence fena durmuyor, ama üçüncüsü sıkışık olur gibi.

1 Beğeni

Ben de öyle düşündüm. Belki plot şeklini değiştirmem gerekebilir.

Başta tek plot için şunu kullanmıştım: plt.subplot2grid((1, 1), (0, 0))
Sonra bütün plotlar için aynı özellikler kullanılacağı için şunu kullanmaya başladım:

figure, axis = plt.subplots(nrows=1, ncols=2)
for i, ax in enumerate(axis):

Plotlara for döngüsü ile ulaşıyordum. Bakalım üçüncüsünde belki bu plot yöntemini de değiştirmek gerekebilir.

Tamam artık program her açıldığında siteye bağlanıyor, bulduğu veriler indirilmiş verilerle aynıysa indirme işlemi gerçekleşmiyor. Eğer veriler güncel değilse veriler indiriliyor ve indirme sonunda Confirmed, Deaths ve Recovered şeklinde üç tane veri oluşmamışsa veya bunlardan biri eksikse, program bu üç dosyanın en güncel hallerini kullanmaya devam ediyor. Bu dosyalar da Latest_Files isminde bir klasörde tutuluyor.

Ayrıca grafiğin görünümü şu şekilde değişirildi:

1 Beğeni

Ekran matplotlib tarafından oluşturuluyor diye bir şey dememiştim ama sonuçta tkinter’i kullanıyor, bu tablolar teker teker gösterilip iki butonla bir önceki ve bir sonrakine geçiş yapılabilir mi acaba? Bu hali de güzel olmuş, elinize sağlık.

1 Beğeni

matplotlib’in backend kısmında birçok grafik arayüz kütüphanesi için modüller sunuluyor aslında. TkAgg bu backend modüllerden bir tanesi. Aslında matplotlib grafiklerini bir canvas’a aktarabilirim. Ve bir tuş yardımıyla vaka, ölüm ve kurtarılmış insan istatistiklerine geçiş yapılmasını sağlayabilirim herhalde. Neyse zaman içerisinde ona da bakarım.

Github’da otomatik update’lerle tutuyorlar. GitHub - CSSEGISandData/COVID-19: Novel Coronavirus (COVID-19) Cases, provided by JHU CSSE

Gunluk “yeni” dosyalarin birlestigi surekli degisen buyuk dosyalarda sema, isimlendirme degisikligi olabiliyor. Onceden haber vermeye calisiyorlar: https://github.com/CSSEGISandData/COVID-19/issues/1250

1 Beğeni

Evet onu ben de fark ettim. Bir de bazen ülkelere göre hazırladıkları vaka artışı, ölüm artışı ve kurtarılan insan sayısı grafikleri aynı anda hazırlanmamış oluyor. Muhtemelen o sıralar verileri girmekle meşgul oluyorlardır. Mesela güncel ölüm artışı grafiği, vaka artışı verileri bir kaç gün sonra siteye eklendi. Bir kaç gün sonra da güncel kurtarılan insan sayısı verileri eklendi. Ben de bu yüzden bir önlem almaya çalıştım. github’a en son güncel dosyaları yükledim. Program her açıldığında bu üç dosyanın sitede mevcut olup olmadığına bakacak, her bir dosyanın yedeği tutulan dosyayla aynı verilere sahip olup olmadığı kontrol edilecek ve eğer veriler farklı ise, bu güncel dosyalar indirilecek. Şayet inen dosya sayısı 3 olmazsa, bu kez bu dosyalar kullanılmayacak, yedeğini alınan ve Latest_Files isimli klasörde tutulan dosyalar kullanılacak. Şayet 3 dosyada mevcut ve güncelse ve bu dosyalar indirilip yedekte tutulan dosyaların yerine geçecek ve dosyalar bu şekilde sürekli güncel tutulacak.

Güncel dosyaları github’dan çeksin, daha hızlı çekiyor. :slight_smile:

Hm anladim, zaten o yuzden farkli dosyalardalar muhtemelen.

Daha da beteri, iyilesen vaka istatistiklerini vermeyi keseceklermis.

Hmm, iyileşen vaka istatistiklerini temin etmesi mi zor yoksa hastaların iyileşip iyileşmediğinden emin mi olamıyorlar, vakalar mı kapatılmamış oluyor bilmiyorum ama geçerli bir nedenleri vardır herhalde diye tahmin ediyorum.

Neyse, benimkisi sadece vakit geçirmek, aynı zamanda pratik yapmak için aklıma gelen bir programdı sadece.

Yok yok, cok iyi fikirdi bence

Gaza gelip kendi HTML/JS grapher’imi yapmaya calistim ben de :slight_smile: Iyi pratik oldu (neden nefret ettigimi hatirladim)

1 Beğeni

Bu arada şöyle bir özellik ekledim. Bu grafiklerin hepsi bir sağ tıklama menüsü sayesinde kullanıcının karşısına çıkan seçeneklerle açılacak. Yani ilgili ülkenin üzerine gelince sağ tıklıyoruz, bir sağ tıklama menüsü açılıyor. Bu menüde iki tane cascade görünüyor. Bu cascade’lerden ilkinin ismi View Case Graphs ve bu cascade’in seçenekleri confirmed, deaths ve recovered şeklinde. Grafikler tek bir ekranda güzel bir şekilde görünsün diye düşündüm.

İkinci cascade’in ismi View Proportion Graphs ve bu cascadein içinde 3 tane seçenek var bunlardan birisi zaman içinde değişen ölüm sayısı/vaka sayısı oranları, diğeri zaman içinde değişen iyileşme sayısı/vaka sayısı oranları en sonuncusu da yine zaman içerisinde değişen iyileşme sayısı/ölüm sayısı oranları ile ilgili. Ve şöyle grafikler elde ediyoruz.

Zaman içinde değişen ölüm sayısı / vaka sayısı yüzde oranları:
deaths_confirmed_turkey

Zaman içinde değişen iyileşme sayısı / vaka sayısı yüzde oranları:
recovered_confirmed_turkey

Zaman içinde değişen iyileşme sayısı / ölüm sayısı yüzde oranları:
recovered_deaths_turkey

Hm, bakabilir miyim? Ya ben de şu HTML/CSS/JS üçlüsüne bir türlü alışamadım. google’da yığınla kaynak var, hiç ilgilenesim gelmiyor. En son flask’a başlayayım dedim, çok sıkıcı buldum açıkçası. Niye bilmiyorum ama web sayfası tasarımı bana sıkıcı geliyor.

/srv/www/root/foo.html olarak duruyodu, o derece usendim baska bir formata getirmeye.

Ama al https://github.com/aib/covgraph

History.pushState hafizaya atilacak state’i ayri, URL’i ayri aliyo. Adam gibi URL encode/decode fonksiyonu bulamadim (varmis, ben bulamadim). Map data turu hala yok. Ben sevmedi, 10 sene sonra tekrar gelecek.

1 Beğeni

Şey, covgraph.html dosyasını tarayıcıda çalıştırdığımda beyaz bir sayfa açıldı ve sağ üst köşede de Source. Uses Chart.js and Papa Parse. foo yazıyor.