• Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy
Monday, June 23, 2025
newsaiworld
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us
No Result
View All Result
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us
No Result
View All Result
Morning News
No Result
View All Result
Home Machine Learning

From Default Python Line Chart to Journal-High quality Infographics | by Vladimir Zhyvov | Dec, 2024

Admin by Admin
December 30, 2024
in Machine Learning
0
1b1ldtefrk29fj3tkd2r2lw.png
0
SHARES
0
VIEWS
Share on FacebookShare on Twitter


Rework boring default Matplotlib line charts into gorgeous, personalized visualizations

Vladimir Zhyvov

Towards Data Science

Cowl, picture by the Creator

Everybody who has used Matplotlib is aware of how ugly the default charts appear to be. On this sequence of posts, I’ll share some methods to make your visualizations stand out and replicate your particular person model.

We’ll begin with a easy line chart, which is broadly used. The principle spotlight will likely be including a gradient fill beneath the plot — a activity that’s not fully easy.

So, let’s dive in and stroll by means of all the important thing steps of this transformation!

Let’s make all the mandatory imports first.

import pandas as pd
import numpy as np
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
from matplotlib import rcParams
from matplotlib.path import Path
from matplotlib.patches import PathPatch

np.random.seed(38)

Now we have to generate pattern knowledge for our visualization. We’ll create one thing much like what inventory costs appear to be.

dates = pd.date_range(begin='2024-02-01', durations=100, freq='D')
initial_rate = 75
drift = 0.003
volatility = 0.1
returns = np.random.regular(drift, volatility, len(dates))
charges = initial_rate * np.cumprod(1 + returns)

x, y = dates, charges

Let’s examine the way it appears to be like with the default Matplotlib settings.

repair, ax = plt.subplots(figsize=(8, 4))
ax.plot(dates, charges)
ax.xaxis.set_major_locator(mdates.DayLocator(interval=30))
plt.present()
Default plot, picture by Creator

Not likely fascination, proper? However we are going to steadily make it trying higher.

  • set the title
  • set common chart parameters — measurement and font
  • putting the Y ticks to the suitable
  • altering the primary line coloration, model and width
# Common parameters
fig, ax = plt.subplots(figsize=(10, 6))
plt.title("Day by day guests", fontsize=18, coloration="black")
rcParams['font.family'] = 'DejaVu Sans'
rcParams['font.size'] = 14

# Axis Y to the suitable
ax.yaxis.tick_right()
ax.yaxis.set_label_position("proper")

# Plotting primary line
ax.plot(dates, charges, coloration='#268358', linewidth=2)

Common params utilized, picture by Creator

Alright, now it appears to be like a bit cleaner.

Now we’d like so as to add minimalistic grid to the background, take away borders for a cleaner look and take away ticks from the Y axis.

# Grid
ax.grid(coloration="grey", linestyle=(0, (10, 10)), linewidth=0.5, alpha=0.6)
ax.tick_params(axis="x", colours="black")
ax.tick_params(axis="y", left=False, labelleft=False)

# Borders
ax.spines["top"].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines["bottom"].set_color("black")
ax.spines['left'].set_color('white')
ax.spines['left'].set_linewidth(1)

# Take away ticks from axis Y
ax.tick_params(axis='y', size=0)

Grid added, picture by Creator

Now we’re including a tine esthetic element — yr close to the primary tick on the axis X. Additionally we make the font coloration of tick labels extra pale.

# Add yr to the primary date on the axis
def custom_date_formatter(t, pos, dates, x_interval):
date = dates[pos*x_interval]
if pos == 0:
return date.strftime('%d %b '%y')
else:
return date.strftime('%d %b')
ax.xaxis.set_major_formatter(ticker.FuncFormatter((lambda x, pos: custom_date_formatter(x, pos, dates=dates, x_interval=x_interval))))

# Ticks label coloration
[t.set_color('#808079') for t in ax.yaxis.get_ticklabels()]
[t.set_color('#808079') for t in ax.xaxis.get_ticklabels()]

12 months close to first date, picture by Creator

And we’re getting nearer to the trickiest second — find out how to create a gradient underneath the curve. Really there is no such thing as a such choice in Matplotlib, however we will simulate it making a gradient picture after which clipping it with the chart.

# Gradient
numeric_x = np.array([i for i in range(len(x))])
numeric_x_patch = np.append(numeric_x, max(numeric_x))
numeric_x_patch = np.append(numeric_x_patch[0], numeric_x_patch)
y_patch = np.append(y, 0)
y_patch = np.append(0, y_patch)

path = Path(np.array([numeric_x_patch, y_patch]).transpose())
patch = PathPatch(path, facecolor='none')
plt.gca().add_patch(patch)

ax.imshow(numeric_x.reshape(len(numeric_x), 1), interpolation="bicubic",
cmap=plt.cm.Greens,
origin='decrease',
alpha=0.3,
extent=[min(numeric_x), max(numeric_x), min(y_patch), max(y_patch) * 1.2],
side="auto", clip_path=patch, clip_on=True)

Gradient added, picture by Creator

Now it appears to be like clear and good. We simply want so as to add a number of particulars utilizing any editor (I want Google Slides) — title, spherical border corners and a few numeric indicators.

Remaining visualization, picture by Creator

The complete code to breed the visualization is beneath:

READ ALSO

A Multi-Agent SQL Assistant You Can Belief with Human-in-Loop Checkpoint & LLM Value Management

What PyTorch Actually Means by a Leaf Tensor and Its Grad

Tags: ChartDecDefaultInfographicsJournalQualityLinePythonVladimirZhyvov

Related Posts

Sqlcrew.jpg
Machine Learning

A Multi-Agent SQL Assistant You Can Belief with Human-in-Loop Checkpoint & LLM Value Management

June 23, 2025
Image 66.jpg
Machine Learning

What PyTorch Actually Means by a Leaf Tensor and Its Grad

June 22, 2025
Alina grubnyak ziqkhi7417a unsplash 1 scaled 1.jpg
Machine Learning

Why You Ought to Not Substitute Blanks with 0 in Energy BI

June 21, 2025
Artboard 2.png
Machine Learning

Understanding Matrices | Half 2: Matrix-Matrix Multiplication

June 19, 2025
Istock 1218017051 1 1024x683.jpg
Machine Learning

Why Open Supply is No Longer Non-compulsory — And Find out how to Make it Work for Your Enterprise

June 18, 2025
Randy fath g1yhu1ej 9a unsplash 1024x683.jpg
Machine Learning

A Sensible Starters’ Information to Causal Construction Studying with Bayesian Strategies in Python

June 17, 2025
Next Post
0yqnqr1ayml9pausi.jpeg

Tips on how to Make sure the Stability of a Mannequin Utilizing Jackknife Estimation | by Paula LC | Dec, 2024

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

0 3.png

College endowments be a part of crypto rush, boosting meme cash like Meme Index

February 10, 2025
Gemini 2.0 Fash Vs Gpt 4o.webp.webp

Gemini 2.0 Flash vs GPT 4o: Which is Higher?

January 19, 2025
1da3lz S3h Cujupuolbtvw.png

Scaling Statistics: Incremental Customary Deviation in SQL with dbt | by Yuval Gorchover | Jan, 2025

January 2, 2025
How To Maintain Data Quality In The Supply Chain Feature.jpg

Find out how to Preserve Knowledge High quality within the Provide Chain

September 8, 2024
0khns0 Djocjfzxyr.jpeg

Constructing Data Graphs with LLM Graph Transformer | by Tomaz Bratanic | Nov, 2024

November 5, 2024

EDITOR'S PICK

Shutterstock editorial only atari 2600.jpg

Chap claims Atari 2600 beat ChatGPT at chess • The Register

June 9, 2025
Cappy instruction following 1.width 800.gif

Outperforming and boosting massive multi-task language fashions with a small scorer

July 31, 2024
Blog pictures2fhow devops should use dbaas database as a service.jpg

How DataOps Companies Speed up Efficient Knowledge Activation

May 28, 2025
Shutterstock Intel.jpg

Intel Xeon 6 CPUs make their title in AI, HPC • The Register

May 15, 2025

About Us

Welcome to News AI World, your go-to source for the latest in artificial intelligence news and developments. Our mission is to deliver comprehensive and insightful coverage of the rapidly evolving AI landscape, keeping you informed about breakthroughs, trends, and the transformative impact of AI technologies across industries.

Categories

  • Artificial Intelligence
  • ChatGPT
  • Crypto Coins
  • Data Science
  • Machine Learning

Recent Posts

  • Technique Acquires $26 Million Price of BTC
  • Can We Use Chess to Predict Soccer?
  • A Multi-Agent SQL Assistant You Can Belief with Human-in-Loop Checkpoint & LLM Value Management
  • Home
  • About Us
  • Contact Us
  • Disclaimer
  • Privacy Policy

© 2024 Newsaiworld.com. All rights reserved.

No Result
View All Result
  • Home
  • Artificial Intelligence
  • ChatGPT
  • Data Science
  • Machine Learning
  • Crypto Coins
  • Contact Us

© 2024 Newsaiworld.com. All rights reserved.

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?