matplotlib.pyplot基础(一)

(一)画一条直线

# 一.画一条直线
import matplotlib.pyplot as plt
# 一个数组或者列表,设置y值范围,x轴自动延伸
plt.plot([0,1,2,3])
# y轴标签
plt.ylabel('yyyyyyyyy')
plt.xlabel('xxxxxxxxx')
# 指定x,y轴的区域[xmin,xmax,ymin,ymax]
plt.axis([0, 6, 0, 20])
plt.show()

这里写图片描述
给图再添加一些东西

import matplotlib.pyplot as plt
# 可以设置x轴和y轴,经过点(1,1),(2,4),(3,9),(4,16)
# 'yo'表示黄色,圆圈详情可查http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot
plt.plot([1, 2, 3, 4], [1, 4, 9, 16],'yo')
# y轴标签
plt.ylabel('yyyyyyyyy')
plt.xlabel('xxxxxxxxx')
# 指定x,y轴的区域[xmin,xmax,ymin,ymax]
plt.axis([0, 6, 0, 20])
# 还可以在图形的任意位置显示文件,在0.65, 1.20位置显示文字(1,1)或者数学表达式
# plt.text(0.65, 1.20, r'$\mu=100,\ \sigma=15$')
plt.text(0.65, 1.20, r'(1,1)')
# 也可以这样添加注释
plt.annotate('point offset from data',
            xy=(2, 4), xycoords='data',
            xytext=(-15, 25), textcoords='offset points',
            arrowprops=dict(facecolor='black', shrink=0.05),
            horizontalalignment='right', verticalalignment='bottom')
plt.show()

这里写图片描述
改变线条属性

# 一.画一条直线
import matplotlib.pyplot as plt
# 返回一条线对象
line, = plt.plot([0,1,2,3])
line.set_antialiased(False)
#再通过step函数将该直线变红
plt.setp(line, color='r', linewidth=2.0)
# y轴标签
plt.ylabel('yyyyyyyyy')
plt.xlabel('xxxxxxxxx')
# 指定x,y轴的区域[xmin,xmax,ymin,ymax]
plt.axis([0, 6, 0, 20])
plt.show()

这里写图片描述
添加每条线的说明

# 添加每条线的说明
import matplotlib.pyplot as plt
import numpy as np
xy = np.arange(0., 5., 0.5)
#也可以直接以这种形式绘制多种数据
plt.plot(xy, xy, 'ro', xy, xy**2, 'yo', xy, xy**3, 'go')
# 给每条线添加说明
plt.legend(['Fit', 'Noisy', 'True'], loc='upper left')
plt.style.use('seaborn-muted')
print plt.style.available
plt.show()

这里写图片描述
(二)在一个图中绘制多条线

import matplotlib.pyplot as plt
import numpy as np
xy = np.arange(0., 5., 0.5)

#也可以直接以这种形式绘制多种数据
plt.plot(xy, xy, 'ro', xy, xy**2, 'yo', xy, xy**3, 'go')
plt.show()

这里写图片描述
(三)一个画板做出多个子图

# 一个画板做出多个子图
import numpy as np
import matplotlib.pyplot as plt

def f(t):
    return np.exp(t)

t1 = np.arange(0.0, 5.0, 0.1)
#创建一个图形编号,如果想两个图形分开画,则再弄一个plt.figure()即可,编号任意
plt.figure(1)
# 这里为subplot(211)与subplot(2, 1, 1)相同,表示位置,numrows,numcols,fignum,fignum = numrows * numcols
plt.subplot(311)
plt.plot(t1, f(t1), 'bo')

plt.subplot(312)
plt.plot(t1, f(t1), 'g--')
plt.show()

这里写图片描述
(四)y轴阶级显示

#y轴的阶级显示
import numpy as np
import matplotlib.pyplot as plt
y = np.random.normal(loc=0.5, scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))
plt.figure(1)
# 直线
plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear') #y值阶级显示
plt.title('linear')
plt.grid(True)

# 对数
plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')#y值以log形式显示
plt.title('log')
plt.grid(True)

# 对称的对数
plt.subplot(223)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthreshy=0.05)
plt.title('symlog')
plt.grid(True, linestyle = "-.", color = "r", linewidth = "2")#这里可以设置图中的网格属性
plt.show()

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值