Basemap Heat error / empty map

2024/10/18 15:06:00

I am trying to plot a scattered heat map on a defined geo location. I can very well plot a normal scattered map with no background but I want to combine it with a given lat and lon. I get the following empty mapenter image description here.

Input

Input: col[2] and col[3] are the x and y co ordinates & Geo Location Lat:19.997453, Lon:73.789802

000000000023 61.0 19.006113 73.009168 
000000000054 65.0 19.009249 73.000342 
000000000003 19.0 19.001051 73.000080 
000000000012 20.0 19.009390 73.008638 
000000000061 82.0 19.008550 73.003605 
000000000048 86.0 19.006597 73.001057 
00000000005d 60.0 19.003857 73.009618 
000000000006 60.0 19.003370 73.009112 
000000000037 91.0 19.002558 73.000546 
000000000047 32.0 19.006061 73.008239 

Program

from matplotlib import pyplot as plt 
from matplotlib import cm as CM
from matplotlib import mlab as ml
from mpl_toolkits.basemap import Basemap
import numpy as np m = Basemap(width=12000000, height=9000000, projection='lcc', resolution='c', lat_0=19.,lon_0=73.)
m.drawcoastlines(linewidth=0.25)data = np.loadtxt('random_lat_lon_0', unpack=True, dtype='str, float, float, float')x  = data[2]
y  = data[3]
z  = data[1]gridsize = 100 
m.hexbin(x, y, C=z, gridsize=gridsize)cb = m.colorbar()
#m.set_label('Density')
plt.show()  

No Error But I see only empty map but no scatter plot of data on that.

How to fix ? Thanks !!

Answer

I now understand. You are trying to combine answers you received from here-imshow and here-hexbin.

Your problem boils down to the fact that you want to use your Basemap as the "canvas" on which you plot your 2D histogram. But instead of doing that, you are making a Basemap then plotting a 2D histogram separately (using plt.hexbin which makes a separate canvas from your Basemap).

Use m.hexbin and get rid of plt.imshow(). If you really want to use imshow, you will need to make a separately 2D histogram array first, then plot it with imshow. Below is how I would proceed with hexbin.


EDIT: Below I randomized some x, y, z data so I could make a plot (and made the coastlines bigger). It's not perfect, but it shows the data plotted.

from matplotlib import pyplot as plt 
from matplotlib import cm as CM
from matplotlib import mlab as ml
from mpl_toolkits.basemap import Basemap
import numpy as np m = Basemap(width=12000000, height=9000000, projection='lcc', resolution='c', lat_0=19.,lon_0=73.)
m.drawcoastlines(linewidth=0.25) # I added color='red', lw=2.0#data = np.loadtxt('inputfile', unpack=True, dtype='str, int, int, int, int, float')
#
#x  = data[1]
#y  = data[2]
#z  = data[5]
x, y, z = np.random.rand(3, 1000000)
x *= 12e6
y *= 9e6
z *= 20000gridsize = 100 
m.hexbin(x, y, C=z, gridsize=gridsize, cmap=plt.cm.YlGnBu)cb = m.colorbar()
m.set_label('Density')
plt.show()

enter image description here

https://en.xdnf.cn/q/73101.html

Related Q&A

Keras custom loss function per tensor group

I am writing a custom loss function that requires calculating ratios of predicted values per group. As a simplified example, here is what my Data and model code looks like: def main():df = pd.DataFrame…

How does numpy.linalg.inv calculate the inverse of an orthogonal matrix?

Im implementing a LinearTransformation class, which inherits from numpy.matrix and uses numpy.matrix.I to calculate the inverse of the transformation matrix.Does anyone know whether numpy checks for or…

pandas: Using color in a scatter plot

I have a pandas dataframe:-------------------------------------- | field_0 | field_1 | field_2 | -------------------------------------- | 0 | 1.5 | 2.9 | -------------------…

Framing Errors in Celery 3.0.1

I recently upgraded to Celery 3.0.1 from 2.3.0 and all the tasks run fine. Unfortunately. Im getting a "Framing Error" exception pretty frequently. Im also running supervisor to restart the t…

decorator() got an unexpected keyword argument

I have this error on Django view:TypeError at /web/host/1/ decorator() got an unexpected keyword argument host_id Request Method: GET Request URL: http://127.0.0.1:8000/web/host/1/edit Django Versio…

Conflict between sys.stdin and input() - EOFError: EOF when reading a line

I cant get the following script to work without throwing an EOFError exception:#!/usr/bin/env python3import json import sys# usage: # echo [{"testname": "testval"}] | python3 test.p…

Requests - inability to handle two cookies with same name, different domain

I am writing a Python 2.7 script using Requests to automate access to a website that sets two cookies with the same name, but different domains, E.g. Name mycookie, Domain www.example.com and subdomain…

Python logging from multiple processes

I have a possibly long running program that currently has 4 processes, but could be configured to have more. I have researched logging from multiple processes using pythons logging and am using the So…

Error while fetching Tweets with Tweepy

I have a Python script that fetch tweets. In the script i use the libary Tweepy . I use a valid authentication parameters. After running this script some tweets are stored in my MongoDB and some are r…

Example to throw a BufferError

On reading in the Python 3.3 documentation I noticed the entry about a BufferError exception: "Raised when a buffer related operation cannot be performed.". Now Im wondering in which cases co…