gpt4 book ai didi

python - 在同一图中绘制两个函数,在两个 x Axis 上具有不同的比例

转载 作者:行者123 更新时间:2023-12-01 03:32:35 24 4
gpt4 key购买 nike

我想在同一个图中绘制两个不同的函数。不过我希望他们在 x Axis 上使用不同的比例。一个刻度应该只显示 x 的值,其他刻度必须最后显示秒。

现在我有这个

k=5
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.set_xlabel(r"values of x") #adds description to scale on bottom
ax2 = ax1.twiny() #adds the seconds scale on top

x = np.arange(0.1, 1.5, 0.1) #values of x for function are in range
y = k*(np.power(x,(k-1))) * np.exp(-(np.power(x,(k-1)))) #that is the function I want to draw
ax1.plot(x,y) #draw function
tx = x
ty = x*7
ax2.plot(x,x*7)

ax2.set_xlabel(r"time in seconds")
ax2.set_xlim(1484) #set limit of time
ax2.invert_xaxis() #invert it so that it works like we want to
ax1.set_xlim(0.1,1.4) #set limit for the x axis so that it doesn't skale on its own.
plt.show()

很抱歉,我无法正确插入代码。ax2 函数现在只是一个虚拟函数。我只是希望能够看到它,并最终将 ax2 的比例更改为我的时间范围。

任何帮助将不胜感激!

最佳答案

我不确定你的代码不起作用:-p

您的 ax2 虚拟函数不够好,我将其替换为 ax2.plot(x*1000,x*50) 以便能够看到它。

我在重新缩放后进行绘图:

k=5
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.set_xlabel(r"values of x") #adds description to scale on bottom
ax2 = ax1.twiny() #adds the seconds scale on top

x = np.arange(0.1, 1.5, 0.1) #values of x for function are in range
y = k*(np.power(x,(k-1))) * np.exp(-(np.power(x,(k-1)))) #that is the function I want to draw
ax1.plot(x,y) #draw function
tx = x
ty = x*7


ax2.set_xlabel(r"time in seconds")
ax2.set_xlim(1484) #set limit of time
ax2.invert_xaxis() #invert it so that it works like we want to
ax2.plot(x*1000,x*50)
ax1.set_xlim(0.1,1.4) #set limit for the x axis so that it doesn't skale on its own.
plt.show()

这给出:

enter image description here

关于python - 在同一图中绘制两个函数,在两个 x Axis 上具有不同的比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com