(一)画一条直线
# 一.画一条直线
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轴的阶级显示
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()