Skip to main content

MatPlotLib Complete Tutorial

# MatPlotLib Basics for drawing all kinds of graphs with all examples.

## Draw a line graph


%matplotlib inline
from scipy.stats import norm
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-5, 5,0.1)

plt.plot(x, norm.pdf(x))
plt.show()


## Mutiple Plots on One Graph


plt.plot(x, norm.pdf(x))
plt.plot(x, norm.pdf(x, 3.0, 1))
plt.plot(x, norm.pdf(x, 2.0,1))
plt.show()



## Save it to a File


plt.plot(x, norm.pdf(x))
plt.plot(x, norm.pdf(x, 1.0, 0.5))
plt.plot(x, norm.pdf(x, 2.0, 0.3))
plt.savefig('C:/Users/Antrixsh/Desktop/neeraj.pdf', format='pdf')


## Adjust the Axes

axes = plt.axes()
axes.set_xlim([-5, 5.0])
axes.set_ylim([0, 2.0])
axes.set_xticks([-5, -4, -3, -2, -1, 0, 1, 1.5, 2, 3, 4, 5])
axes.set_yticks([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0,1.1,1.2,1.3,1.4])
#axes.set_xT([-5, 5.0])
#axes.set_yt([0, 1.0])
axes.grid()
plt.plot(x, norm.pdf(x))
plt.plot(x, norm.pdf(x, 1, 0.5))
plt.plot(x, norm.pdf(x, 2.0, 0.3))

plt.show()


## Add a Grid

axes = plt.axes()
axes.set_xlim([-5, 5])
axes.set_ylim([0, 1.0])
axes.set_xticks([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
axes.set_yticks([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
axes.grid()
plt.plot(x, norm.pdf(x))
plt.plot(x, norm.pdf(x, 1.0, 0.5))
plt.show()



## Change Line Types and Colors


axes = plt.axes()
axes.set_xlim([-5, 5])
axes.set_ylim([0, 1.0])
axes.set_xticks([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
axes.set_yticks([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
axes.grid()
plt.plot(x, norm.pdf(x), 'r*')
plt.plot(x, norm.pdf(x, 1.0, 0.5), 'c')
plt.show()


## Labeling Axes and Adding a Legend


axes = plt.axes()
axes.set_xlim([-5, 5])
axes.set_ylim([0, 1.0])
axes.set_xticks([-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5])
axes.set_yticks([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
axes.grid()
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis')
plt.plot(x, norm.pdf(x), 'r')
plt.plot(x, norm.pdf(x, 1.0, 0.5), 'b')
plt.legend(['page_load_time', 'purchase_amount'], loc=10)
plt.show()

## XKCD Style :)


plt.xkcd()

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.xticks([])
plt.yticks([])
ax.set_ylim([-30, 10])

data = np.ones(100)
data[70:] -= np.arange(30)

plt.annotate(
    'Data Science',
    xy=(50, 5), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))

plt.plot(data)

plt.xlabel('time')
plt.ylabel('radical')


## Pie Chart

# Remove XKCD mode:
plt.rcdefaults()

values = [12, 14, 16, 18, 22, 24, 26]
colors = ['r', 'g', 'b', 'c', 'm', 'y', 'b']
explode = [0.1, 0.0, 0.0, 0.0, 0.0,0.0,0.0]
labels = ['India', 'United States', 'Russia', 'China', 'Europe','Aus','Germany']
plt.pie(values, colors= colors, labels=labels, explode = explode)
plt.title('Radical')
plt.show()

## Bar Chart

values = [12, 55, 4, 32, 14]
colors = ['r', 'g', 'b', 'c', 'm']
plt.bar(range(0,5), values, color= colors)
#plt.show()

## Scatter Plot

from pylab import randn

X = randn(10)
Y = randn(10)
plt.scatter(X,Y)
plt.show()

## Histogram

incomes = np.random.normal(27000, 15000, 500)
plt.hist(incomes)#, 500)
plt.show()

## Box & Whisker Plot

Useful for visualizing the spread & skew of data.

The red line represents the median of the data, and the box represents the bounds of the 1st and 3rd quartiles.

So, half of the data exists within the box.

The dotted-line "whiskers" indicate the range of the data - except for outliers, which are plotted outside the whiskers. Outliers are 1.5X or more the interquartile range.

This example below creates uniformly distributed random numbers between -40 and 60, plus a few outliers above 100 and below -100:

uniformSkewed = np.random.rand(100) * 100 - 40
high_outliers = np.random.rand(10) * 50 + 100
low_outliers = np.random.rand(10) * -50 - 100
data = np.concatenate((uniformSkewed, high_outliers, low_outliers))
plt.boxplot(data)
plt.show()

Comments

Popular posts from this blog

Add, remove, search an item in listview in C#

Below is the C# code which will help you to add, remove and search operations on listview control in C#. Below is the design view of the project: Below is the source code of the project: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Treeview_control_demo {     public partial class Form2 : Form     {         public Form2()         {             InitializeComponent();             listView1.View = View.Details;                   }         private void button1_Click(object sender, EventArgs e)         {             if (textBox1.Text.Trim().Length == 0)...

Add worklog in Jira using Python

 Below is the Python code to add the worklog in Jira. You need to install a request library for this. Here is the code: import requests from requests.auth import HTTPBasicAuth import json url = "https://your jira address here/rest/api/2/issue/ticket_number/worklog" auth = HTTPBasicAuth("username", "jira access token") headers = {     "Accept": "application/json",     "Content-Type": "application/json" } payload = json.dumps({     "comment": {         "content": [             {                 "content": [                     {                         "text": "This is for QA Testing",                         "type": "text"                     } ...

Some GUI examples in Python using customtkinter

 Some GUI examples in Python using customtkinter import customtkinter import os from PIL import Image class ScrollableCheckBoxFrame(customtkinter.CTkScrollableFrame):     def __init__(self, master, item_list, command=None, **kwargs):         super().__init__(master, **kwargs)         self.command = command         self.checkbox_list = []         for i, item in enumerate(item_list):             self.add_item(item)     def add_item(self, item):         checkbox = customtkinter.CTkCheckBox(self, text=item)         if self.command is not None:             checkbox.configure(command=self.command)         checkbox.grid(row=len(self.checkbox_list), column=0, pady=(0, 10))         self.checkbox_list.append(checkbox)     def remove_item(self, it...