问题与python情节

时间:2017-08-03 14:44:29

标签: python curve

因此,使用此代码,我需要绘制一条指数衰减的IV曲线,但它的方向错误,需要进行镜像/翻转。 x和y值未在正确的轴上绘制,需要切换。在给定电压的情况下,它会显示当前呈指数下降的关系。我尝试了各种调试,但它仍然呈指数增长或同样的衰减。

import matplotlib.pyplot as plt
import numpy as np
xdata=np.linspace(23,0)# voltage data
ydata=np.exp(xdata)# current data
plt.plot(ydata,xdata)
plt.title(r'IV-curve')
plt.xlabel('Voltage(V)')
plt.ylabel('Current(I)')
plt.show()

以下是它的样子:http://imgur.com/a/NJf3g

另外,请耐心等待,因为这看起来像是一个简单的代码,但我上周第一次开始编码,所以我会在路上遇到一些障碍:)

2 个答案:

答案 0 :(得分:1)

问题是您使用ydata未正确排序

解决方案很简单。 重新排序 ydata

执行此操作:

import matplotlib.pyplot as plt
import numpy as np

xdata = np.linspace(23,0)# voltage data
ydata = np.exp(xdata)# current data
ydata = np.sort(ydata)

plt.plot(ydata,xdata)
plt.title(r'IV-curve')
plt.xlabel('Voltage(V)')
plt.ylabel('Current(I)')

plt.show()

<强>结果:

enter image description here

答案 1 :(得分:0)

看起来像是

plt.plot(ydata,xdata)

应该是

plt.plot(xdata,ydata)

这将纠正轴。但你仍然无法获得衰退的指数。为什么?不是因为绘图而是因为你的数据。您的数据呈指数级增长。如果你想要腐烂使用像

这样的东西
ydata=np.exp(-xdata)

即。 xdata前面的减号。