matplotlib库

本文详细介绍了Python的matplotlib库中的pyplot子库,包括如何使用plot函数绘制各种图形,如直线、曲线、饼图、直方图和极坐标图。plt.plot()函数的灵活性使得可以自定义颜色、标记和线型。此外,还展示了如何设置轴标签、保存图形和显示图形。通过实例展示了如何创建能量衰减曲线、直方图、饼图和散点图,帮助读者更好地理解和应用matplotlib进行数据可视化。
摘要由CSDN通过智能技术生成

matplotlib库

pyplot:

matplotlib.pyplot是绘制各类可视化图形的命令子库

引用方式:import matplotlib.pyplot as plt

plot(x, y, [fmt], x2, y2, [fmt2], …, **kwargs) # x,y可以存放元组和数组类型

plt.ylabel() # y轴标签

plt.xlabel() # x轴标签

plt.subplot(x, y, c) # 绘制一个人横x,纵y的区域,在第c个区域绘制

plt.savefig(name, dpi) #保存为PNG格式

plt.show() # 展示

plt.plot()是一个灵活的函数,当仅给其传一个元组类型参数时,他会自动补充y轴坐标

import matplotlib.pyplot as plt

plt.plot([1,2,3,4])
plt.show()

在这里插入图片描述
plt.plot()参数:当参数存放多组,则代表多条曲线,也可以修改他的颜色、标记点、线型等

例:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0., 5., 0.2)
# 红色的破折号,蓝色的方块,绿色的三角形
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()

在这里插入图片描述
[ftm] = ‘[color][marker][line]’

color:


    =============    ===============================
    character        color
    =============    ===============================
    ``'b'``          blue 蓝
    ``'g'``          green 绿
    ``'r'``          red 红
    ``'c'``          cyan 蓝绿
    ``'m'``          magenta 洋红
    ``'y'``          yellow 黄
    ``'k'``          black 黑
    ``'w'``          white 白

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:

    =============    ===============================
    character        description
    =============    ===============================
    ``'-'``          solid line style 实线
    ``'--'``         dashed line style 虚线
    ``'-.'``         dash-dot line style 点画线
    ``':'``          dotted line style 点线
    =============    ===============================
import numpy as np
import matplotlib.pyplot as plt

def f(t):# 能量衰减曲线
    return np.exp(-t)*np.cos(2*np.pi*t) # exp(-t):以e为底-t的对数

a = np.arange(0.0,5.0,0.02) # numpy.arange(start, stop, step, dtype = None) 0~5,步长为0.2的数组

plt.subplot(211)# 绘制区域 横2 纵1 选择1,==plt.subplot(2, 1, 1)
plt.plot(a,f(a))

plt.subplot(2,1,2)
plt.plot(a,np.cos(2*np.pi*a),'r--') # 'r--':以虚线形式展示
plt.show()

在这里插入图片描述

pyplot虽然是matplotlib库的其中一个,但是内置了大量的图形:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


饼状图

使用 plt.pie() 绘制

import matplotlib.pyplot as plt

lables = 'Frogs','Hogs','Dogs','Logs'# 标签
sizes = [15, 30, 45, 10]# 占比(列表类型)
explode = (0, 0.1, 0, 0)# 突出(元组类型)
plt.pie(sizes, explode = explode, labels = lables, autopct = '%1.1f%%',
shadow = False, startangle = 90)
plt.axis('equal')

plt.show()

饼状图


直方图

使用 plt.hist() 绘制

matplotlib.pyplot.hist(x, bins=None, range=None, normed=False, 
weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', 
orientation='vertical', rwidth=None, log=False, color=None, label=None, 
stacked=False, hold=None, data=None, **kwargs)

这么多参数,我们只需要关注其中几个
示例:

import numpy as np
import matplotlib.pyplot as plt

mu,sigma = 100,20
a = np.random.normal(mu, sigma,size = 100)# 正态分布

plt.hist(a, 10, histtype = 'stepfilled',facecolor = 'b', alpha = 0.5)
# 	  data  bins   类型						颜色			透明度
plt.title('Histogram')# 标题

plt.show()

直方图


极坐标图

使用 plt.polar 绘制

import numpy as np
import matplotlib.pyplot as plt

N = 20
theta = np.linspace(0.0,2*np.pi, N, endpoint=False) #0 ~ 2派(不包含2派) 内成N个随机数
radii = 10*np.random.rand(N)
width = np.pi/ 4 * np.random.rand(N)

ax = plt.subplot(111, projection='polar')
bars = ax.bar(theta, radii, width=width, bottom=0.0)

for r,bar in zip(radii, bars):
    bar.set_facecolor(plt.cm.viridis(r/10.))
    bar.set_alpha(0.5)

plt.show()

极坐标图


散点图

散点图只需要使用plot函数即可

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot(10*np.random.randn(100), 10*np.random.randn(100), 'o')
ax.set_title('Simple Scatter')

plt.show()

散点图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值