因此,使用此代码,我需要绘制一条指数衰减的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
另外,请耐心等待,因为这看起来像是一个简单的代码,但我上周第一次开始编码,所以我会在路上遇到一些障碍:)
答案 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()
<强>结果:强>
答案 1 :(得分:0)
看起来像是
plt.plot(ydata,xdata)
应该是
plt.plot(xdata,ydata)
这将纠正轴。但你仍然无法获得衰退的指数。为什么?不是因为绘图而是因为你的数据。您的数据呈指数级增长。如果你想要腐烂使用像
这样的东西ydata=np.exp(-xdata)
即。 xdata
前面的减号。