Fundamentals 15 min read

Python Data Visualization Tutorial: Pandas, Matplotlib, Seaborn, Bokeh, Folium and More

This tutorial walks through using Python's major data‑visualisation libraries—including pandas, matplotlib, seaborn, bokeh, altair and folium—to explore AI‑related popularity datasets, demonstrating basic plots, styling, interactive charts, map visualisation, and guidance on choosing the right tool for a project.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
Python Data Visualization Tutorial: Pandas, Matplotlib, Seaborn, Bokeh, Folium and More

In this guide we examine several Python libraries for data visualisation using two AI‑related datasets (temporal.csv and mapa.csv) that contain popularity scores for terms such as data science, machine learning and deep learning.

Pandas is introduced for quick data inspection with

import pandas as pd
df = pd.read_csv('temporal.csv')
df.head(10)  # view first 10 rows

. Descriptive statistics ( df.describe()) and data types ( df.info()) are shown, followed by options to increase display limits (

pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)

). Styling examples use df.head().style.format(format_dict) with currency, date and percentage formats, highlighting max/min values, background gradients, and bar charts.

A profiling report is generated with

from pandas_profiling import ProfileReport
prof = ProfileReport(df)
prof.to_file(output_file='report.html')

, producing an interactive HTML summary of the dataset.

Matplotlib is demonstrated for basic line plots, multiple series, legends, titles and grid lines. Example code:

import matplotlib.pyplot as plt
plt.plot(df['Mes'], df['data science'], label='data science')
plt.xlabel('Date')
plt.ylabel('Popularity')
plt.title('Popularity of AI terms by date')
plt.grid(True)
plt.legend()
plt.show()

. Subplots, scatter plots, bar charts, histograms, text annotations and custom line styles are also covered.

Seaborn builds on Matplotlib to produce more sophisticated visuals with less code. Example:

import seaborn as sns
sns.set()
sns.scatterplot(x='Mes', y='data science', data=df)

. Pair plots, heatmaps, and categorical violin plots are illustrated.

Bokeh creates interactive web‑ready charts. Example setup:

from bokeh.plotting import figure, output_file, save
output_file('data_science_popularity.html')
p = figure(title='data science', x_axis_label='Mes', y_axis_label='data science')
p.line(df['Mes'], df['data science'], legend='popularity', line_width=2)
save(p)

. Multiple linked plots are combined using gridplot.

Altair is mentioned briefly as an additional option for specialized visualisations.

Folium enables geographic visualisation. A simple map is created with

import folium
m1 = folium.Map(location=[41.38, 2.17], tiles='openstreetmap', zoom_start=18)
m1.save('map1.html')

. Markers, bubble maps, and colour‑coded circles based on popularity values are added, using geocoding via geopandas.tools.geocode to obtain latitude and longitude.

The article concludes with advice on selecting a visualisation library: start with pandas for quick inspection, use Matplotlib for basic static plots, and move to Seaborn, Bokeh, Altair, or Folium for more advanced or interactive visualisations.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

PythonMatplotlibSeabornBokehFolium
Python Programming Learning Circle
Written by

Python Programming Learning Circle

A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.