plot函数
plot([x], y, [fmt], data=None, **kwargs)plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
其中:
fmt = '[color][marker][line]'
color
- 'b' | blue
- 'g' | green
- 'r' | red
- 'c' | cyan
- 'm' | magenta
- 'y' | yellow
- 'k' | black
- 'w' | white
marker
- '.' | 点标记符
- ',' | 像素标记符
- 'o' | 圆圈标记符
- 'v' | 倒三角标记符
- '^' | 正三角标记符
- '<' | 左三角标记符
- '>' | 右三角标记符
- '1' | 向下竹蜻蜓
- '2' | 向上竹蜻蜓
- '3' | 向左竹蜻蜓
- '4' | 向右竹蜻蜓
- 's' | 四边形标记符
- 'p' | 五边形标记符
- '*' | 星型标记符
- 'h' | 六边形标记符
- 'H' | 六边形标记符
- '+' | +标记符
- 'x' | x标记符
- 'D' | 菱形标记符
- 'd' | 菱形标记符
- '
|
' | 竖线标记符 - '_' | 横线标记符
线条风格
- '-' | 实线
- '--' | 划线
- '-.' | 点划线
- ':' | 虚线
plot(x, y) # 使用默认的线条和颜色
plot(x, y, 'bo') # 使用蓝色和圆圈标记
plot(y) # x默认使用0..N-1
plot(y, 'r+') # 使用红色+号标记
plot(x, y, 'go--', linewidth=2, markersize=12)
plot(x,y,color='green',marker='o',linestyle='dashed')
plt.plot("A","Z",data=data,color="#ffff66",marker="h",ls="-")
plot主要有2个数据参数就是x轴和y轴数据,如果只有一个那就是y轴,x轴默认为0到N-1,N是y轴数据个数
如果设置了data参数,x轴的数据就是data["第一个参数"],y轴的数据就是data["第二个参数"],data参数可以是pandas中的DataFrame,这样取的是列数据。
具体的参数含义可以看下面的实例,自己调整参数对比一下,不同参数对图形的影响,看一下官网的实例,你会发现不是matplotlib不能画出漂亮的图形,而是自己缺乏想象力。
实例
下上一波代码:
#-*-coding:utf-8-*-import numpy as npimport matplotlib.pyplot as pltimport pandas as pdfrom pandas import DataFramex = [1,3,5,7,9]y = [2,4,6,8,10]x2 = [2,4,6,8,10]y2 = [1,3,5,7,9]#设置画布大小plt.figure(figsize=(12, 8))# 切分为3行3列的子图 并且现在第一行第一列plt.subplot2grid((3, 3), (0, 0))plt.plot(x,y)plt.xlabel(u"x轴")plt.ylabel(u"y轴")plt.title(u"默认线条风格和颜色")plt.subplot2grid((3, 3), (0, 1)) # x轴起始于1,终止于10 ,y轴起始于2,终止于10plt.axis([1, 10, 2, 10])plt.xlabel(u"x轴")plt.ylabel(u"y轴")plt.title("b:^")plt.plot(x,y,'b:^')plt.subplot2grid((3, 3), (0, 2))plt.title('cv:')plt.plot(y,'cv:')plt.subplot2grid((3, 3), (1, 0))plt.xlabel(u"x轴")plt.ylabel(u"y轴")plt.title(u'color=magenta, marker=d')plt.plot(x, y, color='magenta', marker='d', linestyle='dotted',linewidth=2, markersize=12)plt.subplot2grid((3, 3), (1, 1))plt.xlabel(u"x轴")plt.ylabel(u"y轴")plt.title(u'y1-.,kp--')plt.plot(x, y, 'y1-.',x2,y2,'kp--')data = DataFrame(np.random.randint(1,10,10).reshape(5,2),columns=["A","Z"])plt.subplot2grid((3, 3), (1, 2))plt.xlabel(u"x轴")plt.ylabel(u"y轴")plt.title(u'color=#ffff66,marker=h,ls=-')plt.plot("A","Z",data=data,color="#ffff66",marker="h",ls="-")plt.subplot2grid((3, 3), (2, 0))plt.title('ls=none,marker=1,markersize=14')plt.plot(x, y, ls="none",marker="1",markersize=14,color="red")ax = plt.subplot2grid((3, 3), (2, 1))plt.title('rH--')plt.plot(x, y, 'rH--',label='line prompt')ax.legend()plt.subplot2grid((3, 3), (2, 2))dataR = np.arange(0.0, 1.0, 0.01)for n in [1, 2, 3, 4]: plt.plot(dataR, dataR**n, label="n=%d"%(n,))#legend是用来设置图例的,设置了lebel的必须调用legend才能显示leg = plt.legend(loc='best', ncol=2, mode="expand", shadow=True, fancybox=True)leg.get_frame().set_alpha(0.5)# plt.savefig("plot.png")plt.show()
画风大概是这样子的: