Python
  • Introduction
  • Chapter 1.Notes from research
    • 1.Introduction of Python
    • 2. Build developer environment
      • 2.1.Sublime Text3
      • 2.2.Jupyter(IPython notebook)
        • 2.2.1.Introduction
        • 2.2.2.Basic usage
        • 2.2.3.some common operations
      • 2.3.Github
        • 2.3.1.Create Github account
        • 2.3.2.Create a new repository
        • 2.3.3.Basic operations: config, clone, push
      • 2.4.Install Python 3.4 in Windows
    • 3. Write Python code
      • 3.1.Hello Python
      • 3.2.Basic knowledges
      • 3.3.撰寫獨立python程式
      • 3.4.Arguments parser
      • 3.5.Class
      • 3.6.Sequence
    • 4. Web crawler
      • 4.1.Introduction
      • 4.2.requests
      • 4.3.beautifulSoup4
      • 3.4.a little web crawler
    • 5. Software testing
      • 5.1. Robot Framework
        • 1.1.Introduction
        • 1.2.What is test-automation framework?
        • 1.3.Robot Framework Architecture
        • 1.4.Robot Framework Library
        • 1.5.Reference
    • 6. encode/ decode
      • 6.1.編碼/解碼器的基本概念
      • 6.2.常見的編碼/ 解碼錯誤訊息與其意義
      • 6.3 .處理文字檔案
    • 7. module
      • 7.1.Write a module
      • 7.2.Common module
        • 7.2.1.sched
        • 7.2.2.threading
    • 8. Integrate IIS with django
      • 8.1.Integrate IIS with django
  • Chapter 2.Courses
    • 2.1.Python for Data Science and Machine Learning Bootcamp
      • 2.1.1.Virtual Environment
      • 2.1.2.Python crash course
      • 2.1.3.Python for Data Analysis - NumPy
        • 2.1.3.1.Numpy arrays
        • 2.1.3.2.Numpy Array Indexing
        • 2.1.3.3.Numpy Operations
      • 2.1.4.Python for Data Analysis - Pandas
        • 2.1.4.1.Introduction
        • 2.1.4.2.Series
        • 2.1.4.3.DataFrames
        • 2.1.4.4.Missing Data
        • 2.1.4.5.GroupBy
        • 2.1.4.6.Merging joining and Concatenating
        • 2.1.4.7.Data input and output
      • 2.1.5.Python for Data Visual Visualization - Pandas Built-in Data Visualization
      • 2.1.6.Python for Data Visualization - Matplotlib
        • 2.1.6.1.Introduction of Matplotlib
        • 2.1.6.2.Matplotlib
      • 2.1.7.Python for Data Visualization - Seaborn
        • 2.1.7.1.Introduction to Seaborn
        • 2.1.7.2.Distribution Plots
        • 2.1.7.3.Categorical Plots
        • 2.1.7.4.Matrix Plots
        • 2.1.7.5.Grids
        • 2.1.7.6.Regression Plots
      • 2.1.8. Python for Data Visualization - Plotly and Cufflinks
        • 2.1.8.1.Introduction to Plotly and Cufflinks
        • 2.1.8.2.Plotly and Cufflinks
      • 2.1.9. Python for Data Visualization - Geographical plotting
        • 2.1.9.1.Choropleth Maps - USA
        • 2.1.9.2.Choropleth Maps - World
      • 2.1.10.Combine data analysis and visualization to tackle real world data sets
        • 911 calls capstone project
      • 2.1.11.Linear regression
        • 2.1.11.1.Introduction to Scikit-learn
        • 2.1.11.2.Linear regression with Python
      • 2.1.12.Logistic regression
        • 2.1.12.1.Logistic regression Theory
        • 2.1.12.2.Logistic regression with Python
      • 2.1.13.K Nearest Neighbors
        • 2.1.13.1.KNN Theory
        • 2.1.13.2.KNN with Python
      • 2.1.14.Decision trees and random forests
        • 2.1.14.1.Introduction of tree methods
        • 2.1.14.2.Decision trees and Random Forests with Python
      • 2.1.15.Support Vector Machines
      • 2.1.16.K means clustering
      • 2.1.17.Principal Component Analysis
    • 2.2. Machine Learning Crash Course Jam
Powered by GitBook
On this page
  • 1. 使用library
  • 2. 畫圖的基本操作
  • 3. 繪製多張圖
  • 4.以Object Orient的概念進行繪圖操作
  • 5.以Object Orient的概念進行多張圖的繪圖操作
  • 儲存圖檔

Was this helpful?

  1. Chapter 2.Courses
  2. 2.1.Python for Data Science and Machine Learning Bootcamp
  3. 2.1.6.Python for Data Visualization - Matplotlib

2.1.6.2.Matplotlib

Previous2.1.6.1.Introduction of MatplotlibNext2.1.7.Python for Data Visualization - Seaborn

Last updated 5 years ago

Was this helpful?

1. 使用library

import matplotlib.pyplot as plt
  • 將matplotlib的圖表直接嵌入到Notebook之中

%matplotlib inline

2. 畫圖的基本操作

  • 使用plt.plot及numpy array

import numpy as np
x = np.linspace(0, 5, 11)
y = x ** 2
plt.plot(x, y, 'r-')
plt.xlabel('X label')
plt.ylabel('Y label')
plt.title('Title')
#print
plt.show()

3. 繪製多張圖

  • 使用plt.subplot

plt.subplot(1, 2, 1)
plt.plot(x, y, 'r')

plt.subplot(1, 2, 2)
plt.plot(x, y, 'b')

4.以Object Orient的概念進行繪圖操作

  • 1.使用plt.figure及add_axes

 #OO
fig = plt.figure()

axes = fig.add_axes([0.1, 0.1, 0.8, 0.8])

axes.plot(x, y)
axes.set_xlabel('X label')
axes.set_ylabel('Y label')
axes.set_title('Title')
  • 2.figsize與dpi參數的使用

fig = plt.figure(figsize = (8, 2), dpi = 500)

ax = fig.add_axes([0, 0, 1, 1])
ax.plot(x, y)
  • 3.legend與位置 (location code, loc)

    • loc可以設定代碼或是給tuple

      fig = plt.figure()
      
      axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])
      axes1.plot(x, x**2, label = 'X squared')
      
      axes1.plot(x, x**3, label = 'X Cubed')
      axes1.legend(loc = 10)
  • 4.line與marker

    • color, width, style

      fig = plt.figure()
      ax = fig.add_axes([0, 0, 1, 1])
      ax.plot(x, y, color = 'orange')
      ax.plot(x, y * 2, color = '#000000')
      ax.plot(x, y * 3, color = 'purple', lw = 6)
      ax.plot(x, y * 4, color = 'purple', lw = 6, alpha = 0.5)
      ax.plot(x, y * 5, color = 'red', lw = 6, ls = '-.')
      ax.plot(x, y * 6, color = 'red', lw = 1, ls = '-', marker = '*', markersize = 20, 
        markerfacecolor = 'yellow', markeredgewidth = 3, markeredgecolor = 'green')
  • 5.設定lower bound及upper bound

fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1])
ax.plot(x, y * 3, color = 'purple', lw = 1)
ax.set_xlim([0, 1])
ax.set_ylim([0, 2])

5.以Object Orient的概念進行多張圖的繪圖操作

  • 1.使用plt.figure及add_axes

    fig = plt.figure()

    axes1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])
    axes2 = fig.add_axes([0.5, 0.15, 0.5, 0.5])

    axes1.plot(x, y)
    axes.set_title('LARGE PLOT')
    axes2.plot(y, x)
    axes.set_title('SMALLER PLOT')
  • 2.使用plt.subplots

    fig, axes = plt.subplots(nrows = 1, ncols = 2)

    for current_ax in axes:
        current_ax.plot(x, y)

    axes[0].plot(x, y)
    axes[0].set_title('FIRST PLOT')
    axes[1].plot(y, x)
    axes[1].set_title('SECOND PLOT')
  • 3.使用plt.subplots如果太擠可以用plt.tight_layout()

    fig, axes = plt.subplots(nrows = 3, ncols = 3)
    plt.tight_layout()
  • 4.figsize與dpi參數的使用

fig, axes = plt.subplots(nrows = 2, ncols = 1, figsize = (8, 2))

axes[0].plot(x, y)
axes[1].plot(x, y)
plt.tight_layout()

儲存圖檔

fig.savefig('my_picture.png', dpi = 100)