Quantcast
Channel: Sam的技术Blog
Viewing all articles
Browse latest Browse all 158

Matplotlib学习记录

$
0
0
作者: Sam(甄峰) sam_code@hotmail.com

Matplotlib是一个用来绘制二维图像的Python库。在机器学习中很常用,主要用来数据可视化绘图,把数据直观的呈现出来。它可以绘制线图,散点图,等高线图,条形图,柱状图等等。
中文官网为: https://www.matplotlib.org.cn/


1. 画线:
使用matplotlib.pyplot 中的plot()
例如:
import matplotlib.pyplot as plt
import numpy as np
import random 

X_Data = np.linspace(0, 100, 3)
Y_Data = []

for i in range(X_Data.shape[0]):
    Y_Data.append(random.randint(0, 10))

print("X_Data:",X_Data)
print("Y_Data", Y_Data)
fig = plt.figure()
plt.plot(X_Data, Y_Data, 'bo')
plt.plot(X_Data, Y_Data, 'r-.')

plt.show() 

说明:
plt.figure() 创建一个新画布。
plt.plot() 画线,


    plot([x], y, [fmt], data=None, **kwargs)
          plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
画一条和多条线的方式。
当[x], y 只有一个输入列表或数组时,参数被当做Y轴,X轴以index自动生成。

fmt:
一个字符串来定义图的基本属性如:颜色(color),点型(marker),线型(linestyle),具体形式  fmt = '[color][marker][line]'

颜色:
    =============    ===============================
    character        color
    =============    ===============================
    ``'b'``          blue 蓝
    ``'g'``          green 绿
    ``'r'``          red 红
    ``'c'``          cyan 蓝绿
    ``'m'``          magenta 洋红
    ``'y'``          yellow 黄
    ``'k'``          black 黑
    ``'w'``          white 白
    =============    ===============================
 点型参数**Markers**,如:marker='+' 这个只有简写,英文描述不被识别
=============    ===============================
    character        description
    =============    ===============================
    ``'.'``          point marker
    ``','``          pixel marker
    ``'o'``          circle marker
    ``'v'``          triangle_down marker
    ``'^'``          triangle_up marker
    ``'<'``          triangle_left marker
    ``'>'``          triangle_right marker
    ``'1'``          tri_down marker
    ``'2'``          tri_up marker
    ``'3'``          tri_left marker
    ``'4'``          tri_right marker
    ``'s'``          square marker
    ``'p'``          pentagon marker
    ``'*'``          star marker
    ``'h'``          hexagon1 marker
    ``'H'``          hexagon2 marker
    ``'+'``          plus marker
    ``'x'``          x marker
    ``'D'``          diamond marker
    ``'d'``          thin_diamond marker
    ``'|'``          vline marker
    ``'_'``          hline marker
    =============    ===============================
线型参数**Line Styles**,linestyle='-'

    =============    ===============================
    character        description
    =============    ===============================
    ``'-'``          solid line style 实线
    ``'--'``         dashed line style 虚线
    ``'-.'``         dash-dot line style 点画线
    ``':'``          dotted line style 点线


例2:
x = np.linspace(0, 2, 100)
fig1 = plt.figure()
plt.plot(x, x, label='linear',linewidth=1)
plt.plot(x, x**2, label='quadratic',linewidth=5)
plt.plot(x, x**3, label='cubic')

plt.xlabel('x label')
plt.ylabel('y label')

plt.title("Simple Plot")

plt.legend(loc="best")

plt.show()

说明:
plt.legend(): 图例.


plt.xlim((0,1))  #x轴只截取一段进行显示
plt.ylim((0,1))  #y轴只截取一段进行显示


2. 画散点
plt.scatter(x, y)

例如:
dots1 = np.random.rand(50)
dots2 = np.random.rand(50)

plt.scatter(dots1,dots2, c="red", alpha=0.6)
plt.show()


3. 画直方图:
x = np.arange(10)
y = 2**x + 10
plt.bar(x, y, facecolor="#9999FF", edgecolor="black")
plt.show()



 

Viewing all articles
Browse latest Browse all 158

Trending Articles