用直线和/或标记标出y和x。调用格式:
plot([x], y, [fmt], data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
点或直线节点的坐标由(x, y)给出。如果不指定x,则x从0开始递增。可选参数fmt是定义基本格式(如颜色、标记和线型)的简便方法。还可以使用Line2D的属性作为关键字参数来对显示做更多的控制。线属性和fmt可以混合使用,当与fmt冲突时,关键字参数优先。
有一种绘制标记数据的简便方法,不是通过指定数据x和y而是,而是通过data参数提供对象,并指定x和y的标签。data支持所有可索引对象,比如字典、pandas.DataFame、结构化的numpy数组等。例如:
xy={'a':[1,2],'b':[3,4]}
plot('a','b',data=xy)
绘制多组数据有三种方法:
1.最直接的方法就是多次调用plot。
2.如果数据已经是一个二维数组,可以直接传递给x, y。每一列做为一个单独的数据集进行绘制。
a=[[1,2,3],[3,4,5],[5,6,7],[7,8,9]]
plot(a)
例如,数组a的第一行表示x值,其他行的每列表示y列,要注意的是a的第一行的元素数量要与剩余的行数相同。
a=[[1,2,3],[3,4],[5,6],[7,8]]
plot(a[0],a[1:])
3.指定多组[x], y, [fmt]。在这种情况下,任何额外的关键字参数将适用于所有数据集。此外,此语法不能与data参数组合。
plot(x1, y1, 'g^', x2, y2, 'g-')
默认情况下,每条线都由style cycle分配不同的样式。只有在要区别于默认样式时才需要使用fmt和线属性参数,或者使用rcParams['axes.color_cycle']更改style cycle。
plot可接受参数如下:
x,y:类数组或标量。数据点的水平/垂直坐标。x值是可选的,如果不提供,默认从0开始递增。通常,这些参数是数组,但是也支持标量。数组也可以是2维的,每一列表示单独的数据集。
fmt:格式字符串。格式字符串只是快速设置基本行属性的缩写。所有这些甚至更多都可以由关键字参数控制。
data:可索引对象。带有标记数据的对象。如果指定data,则需提供要绘图的x和y的标签名称。
scalex,scaley:视图是否受数据限制,默认为True。这些值被传递到autoscale_view。
**kwargs:关键字参数。Line2D属性。用于设置行标签、颜色、标记等。
plot返回值为表示绘制数据的Line2D对象列表。
简单示例
#coding=utf8
from matplotlib import pyplot as plt
#style cycle
#x = range(11)
#color=['b','g','r','c','m','y','k']
#markers=['.',',','o','v','^','<','>','1','2','3','4','s','p','*'
# ,'h','H','+','x','D','d','|','_']
#line=['-','--','-.',':']
#fmt=[ color[i%7]+markers[i%22]+line[i%4] for i in range(len(markers))]
#for i in range(len(fmt)):
# plt.plot(x,[i+1]*len(x),fmt[i])
#style cycle
#data
#xy={'a':[1,2],"b":[3,4]}
#result=plt.plot('a','b',data=xy)
#data
#2d array
#a=[[1,2,3],[3,4,5],[5,6,7],[7,8,9]]
#plt.plot(a)
#a=[[1,2,3],[3,4],[5,6],[7,8]]
#plt.plot(a[0],a[1:])
#2d array
#multiple
x1=1
x2=2
y1=5
y2=6
result=plt.plot(x1, y1, 'g^', x2, y2, 'go')
#multiple
print(result)
plt.show()