Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to visualize mysql data in d3js using django?

I have my data in MySQL database, and I need to visualize the data in d3.js as a bubble chart. Is it possible for me to do this in Django framework, and if so how?

like image 404
Sreejith Avatar asked Jan 13 '23 08:01

Sreejith


2 Answers

Yes, you can do this using Django. All you need to do is to create a Django PyDev(python) application. In the settings.py file give the database as,

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'myDB',  # your mysql database name    
        'USER': '123', # your mysql user for the database
        'PASSWORD': '123', # password for user
        'HOST': '127.0.0.1', 
        'PORT': '3306', 
        } 

In the function definition in views.py give mysql connection as,

    conn = MySQLdb.connect (host = "127.0.0.1",
                        user = "root", # mysql root
                        passwd = "root", # mysql root password
                        db = "myDB")

Using cursor retrieve the data from table and then convert into json,

cursor.execute ("select <column> from <table>")

rows=dictfetchall(cursor)


object_list = []
for row in rows:
    d = collections.defaultdict()
    d['name'] = row['name']       
    object_list.append(d)

j = json.dumps(object_list)
objects_file = 'path of json file to be created'
m = open(objects_file,'w')
print >> m,j    #to write to file
conn.close() 

def dictfetchall(cursor):
    "Returns all rows from a cursor as a dictionary"
    desc = cursor.description
    return [
        dict(zip([col[0] for col in desc], row))
        for row in cursor.fetchall()
    ]

Now you can use this json file to create any type of d3js.

like image 192
subina mohanan Avatar answered Jan 17 '23 13:01

subina mohanan


You Can connect to MySql DB from views.py and query for data and then pass it to the HTMLpage in the required format(maybe JSON, CSV, or XML).From the page call the d3js script and use the passed object for data

like image 42
Arun K Avatar answered Jan 17 '23 12:01

Arun K