我正在使用极投影制作一些条形图。数据都是远离原点的大数字,因此我使用 ax.set_rlim 使它们更容易区分。但是,当我设置 rlim 时,原点周围的一些条被切断了。当我不设置 rlim 时这不是问题,但我无法像这样显示我的数据。为什么会发生这种情况,有什么办法可以解决吗?
这是问题的一个例子:
import matplotlib
import numpy as np
Sectors = np.arange(0,2*np.pi,np.pi/4)
Data = np.array([100,99,100,101,100.5,100.25,99.25,99.75])
fig, ax = plt.subplots(nrows = 1, ncols = 1, subplot_kw={'projection': 'polar'})
ax.bar(Sectors,Data)
ax.set_rlim(98,102)
plt.show()
请注意,如果我不应用 rlim,则不会发生这种情况。例如:
import matplotlib
import numpy as np
Sectors = np.arange(0,2*np.pi,np.pi/4)
Data = np.array([100,99,100,101,100.5,100.25,99.25,99.75])
fig, ax = plt.subplots(nrows = 1, ncols = 1, subplot_kw={'projection': 'polar'})
ax.bar(Sectors,Data)
#ax.set_rlim(98,102)
plt.show()
非常感谢任何帮助!
这确实是一个非常奇怪的效果。
但是似乎有一个变通方法,使用 bottom
关键字到 bar
。诀窍是将 bottom
设置为内部 rlim
(在本例中为 98)并指定相对于 bottom 值的数据。
import matplotlib.pyplot as plt
import numpy as np
Sectors = np.arange(0,2*np.pi,np.pi/4)
Data = np.array([100,99,100,101,100.5,100.25,99.25,99.75])
fig, ax = plt.subplots(nrows = 1, ncols = 1, subplot_kw={'projection': 'polar'})
ax.bar(Sectors,Data-98, bottom=98)
ax.set_rlim(98,102)
plt.show()
我是一名优秀的程序员,十分优秀!