use*_*217 5 matplotlib python-2.7
我有数据,我必须绘制
X = [0,1,2,3,4,5] Y = [6,7,8,9,10,11,12,13,14,15]
X属于class1,所以我希望它们以绿色绘制,Y属于class2,所以我希望它们以蓝色绘制.
我做的是,
import pylab as pl
pl.plot(X,'go')
pl.plot(Y,'bo')
pl.show()
Run Code Online (Sandbox Code Playgroud)
但是这是在Y上绘制X.我想在图表中显示的只是绿色和蓝色的点X和Y.
我怎么能做到这一点?
它不会绘制 X 对 Y 的图,只是因为 X 和 Y 的长度不同。假设x
是变量(横轴)和y
结果(纵轴)。通常你会写pl.plot(x,y)
, 其中x
和y
是相同长度的列表。如果您只给出一个列表,则假定您只给出了一个列表y
,并且 matplotlib 将为您创建一个 x 轴,如下所示:
import pylab as pl
y1 = [0,1,2,3,4,5]
y2 = [6,7,8,9,10,11,12,13,14,15]
x1 = range(len(y1))
x2 = range(len(y2))
pl.plot(x1, y1,'go')
pl.plot(x2, y2,'bo')
pl.show()
Run Code Online (Sandbox Code Playgroud)
所以我认为在你的情况下你应该定义 x 轴。