2012-03-24 20 views
0

我想为某些数学函数创建图形,并尝试使用matplotlib完成此操作。我需要在一个绘图中绘制几个函数的图形,以便可以将这些图形相互比较。为matplotlib创建数据

说的这些都是数学函数

2**(math.log(x,2)) 
2**(2**(math.log(x,2))) 

我想这

from matplotlib.pyplot import plot as plt 
x=arange(1000,1010) 
y1=[2**(math.log(t,2)) for t in x ] 
y2=[2**(2**(math.log(t,2))) for t in x ] 
plt.plot(x,y1) 
plt.plot(x,y2) 
plt.show() 

这只能说明的(X,Y2)

一个graph..that如何使所有图表显示在一个阴谋?

编辑:

使用plt.plot(X,Y,X,Y2)产生这种图形 enter image description here

回答

2

我不认为他们将是相同的规模可见。第一个是基本y = xy是1000左右。第二个是y = 2**x,并在1000 x开始......

然而,随着对数刻度绘图可以帮助:

matplotlib.pyplot.yscale('log') 
+0

这可能是问题..我认为情节会缩放 – 2012-03-24 17:08:50

+0

它被缩放,以便这两个情节适合窗口。在比例尺中,第一个绘图是一条线,位于X轴上方0.0001毫米处。也许你会看到它,如果你使线更粗,但对于一个真正的比较线性比例在这种情况下是没有用的。 – 2012-03-24 17:10:57