如何设置 matplotlib plt.polar p 中的轴限制

2024-04-19 01:14:37 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有以下极坐标图:

a=-0.49+1j*1.14
plt.polar([0,angle(x)],[0,abs(x)],linewidth=5)

matplotlib polar plot

我想把径向极限调整到0到2。

最好的方法是什么?

注意,我特别问的是plt.polar()方法(而不是在类似问题中常见的普通图中使用polar=True参数)。

这似乎是可行的,除非我是从控制台(Spyder,Win7)绘图:

>>> ax=plt.gca()
>>> ax.set_rlim(0,2)

Tags: 方法true绘图参数pltabsaxspyder
2条回答

你可以用经典的方法

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-180.0,190.0,10)
theta = (np.pi/180.0 )*x    # in radians

offset = 2.0

R1 = [-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\
-0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\
-0.137,-0.358,-0.483,-0.479,-0.346,-0.121,0.137,0.358,0.483,0.479,0.346,0.121,\
-0.137,-0.358]

fig1 = plt.figure()
ax1 = fig1.add_axes([0.1,0.1,0.8,0.8],polar=True)
ax1.set_ylim(-2,2)
ax1.set_yticks(np.arange(-2,2,0.5))
ax1.plot(theta,R1,lw=2.5)
plt.show()

enter image description here

解决OP的一个更简单的方法可能是:

ax.set_ylim([0,2])

相关问题 更多 >