Notice: Undefined variable: ub in /home/ictrclub/blog_ictr/wp-content/plugins/advanced-page-visit-counter/public/class-advanced-page-visit-counter-public.php on line 148

Notice: Undefined variable: ub in /home/ictrclub/blog_ictr/wp-content/plugins/advanced-page-visit-counter/public/class-advanced-page-visit-counter-public.php on line 160

Notice: Undefined offset: 1 in /home/ictrclub/blog_ictr/wp-content/plugins/advanced-page-visit-counter/public/class-advanced-page-visit-counter-public.php on line 163
All in one. Matplotlib-Basemap in Pyqt5 dialog form. - Blog

All in one. Matplotlib-Basemap in Pyqt5 dialog form.

Ziyaretci:4434

Merhaba, parça parça sağda solda duran kodları toplamak için bir uygulama yapmam gerekti. Python ile, Pandas ile csv den veri alarak, Pyqt5 formu içerisinde, Matplotlib Harita (Basemap modülü ile) üzerinde gösterme uygulaması. Zincirleme isim tamlaması gibi oldu ama yetmedi, Basemap de img göstermek ve pickle kullanımı da mevcut. Aşağıdaki kodların çalışması için Anaconda nın yüklü olması(ücretsiz sürümü yeterli), üstüne basemap in de conda ile yüklenmesi gerekir.

Matplotlib in canvas,figure ve ax için aşağıdaki görsel yardımcı olur umarım.

 

Kodların bir çoğunda açıklama yaptım ve çeşitli yazım şekilleri dikkatinizi çekmiştir umarım. _ (underscore) lu değişkenler, ->Basemap (fonksiyon dönüş tipi), :int (parametre tipi), özellikle matplotlib de kullanımını gördüğünüz#type:Figure oluşturulan nesnenin tipini belirleme gibi bazı kullanımlara bilerek yer verdim. Diğerlerinde gerek olmadığını düşünüyorum. Pek tabiki bu çalışmayı iki sınıfta yapabilirdik ki bence gereken –SOLID prensiplerinden dolayı- (harita üzerine şekiller vs yi başka sınıfta halletmemiz gerekir) o dur ama hepsi aynı anda görünebilsin diye tek sınıfta hallettik. Eğer anlam veremediğiniz konu yada önerileriniz varsa varsa lütfen iletişim kurmaktan çekinmeyin. Saygılarımla.

 

Çalışma sonucu ekran görüntüsü.  Çalışma dosyalarına buradan ulaşabilirsiniz.

Yazı muhittinkaplan.com da yayınlanmıştır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir