gpt4 book ai didi

matplotlib - 如何在一个图中绘制极坐标和笛卡尔子图,如图所示

转载 作者:行者123 更新时间:2023-12-03 08:51:57 25 4
gpt4 key购买 nike

我想生成一个半笛卡尔半极坐标图。例如高斯曲线的一半采用极坐标格式,另一半采用笛卡尔格式。哪个是最好的方法?

plot which is half cartesian and half polar

我尝试过共享 y 轴,但未能成功为一个图采用两种不同类型的格式。

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0,(np.pi)/2)
r = np.sin(theta)

fig = plt.figure()
ax = fig.add_subplot(211, polar=True)
c = ax.scatter(theta, r, c=r, s=5, cmap='hsv', alpha=0.85)

ax.set_thetamin(0)
ax.set_thetamax(90)

ax1=fig.add_subplot(212) #, sharey='ax')
fig, (c, d) = plt.subplots(ncols=2,sharey=True)
d=ax1.scatter(theta,r)
plt.show()

最佳答案

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0,(np.pi)/2)
r = np.sin(theta)

fig = plt.figure(figsize=(6.4, 3.25))
fig.subplots_adjust(wspace=0)
ax1 = fig.add_subplot(121)
ax1.grid()
ax2 = fig.add_subplot(122, polar=True)
ax2.set_thetamin(0)
ax2.set_thetamax(90)

ax1.set_ylim(0, 1.05)
ax2.set_ylim(0, 1.05)

sc1 = ax1.scatter(np.rad2deg(theta), r, c=r, s=5, cmap='hsv', alpha=0.85)
sc2 = ax2.scatter(theta,r, c=r, s=5, cmap='hsv', alpha=0.85)
plt.show()

enter image description here

关于matplotlib - 如何在一个图中绘制极坐标和笛卡尔子图,如图所示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58367681/

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