1

我有一个在pandas中创建的图表,我将 y 轴设置为从 -100 到 -100 的范围。

有没有一种简单的方法让 x 轴在 y=0 处与 y 轴交叉,而不是在 y=-100 处交叉(或者,如何在垂直中心显示 x 轴,而不是在底部图表)

我见过的解决方案似乎使用 subplots 或spines,这对于我的目的来说似乎过于复杂。我正在寻找与熊猫更集成的东西,比如传递ylimorstyle参数)

示例代码:

from pandas import Series
s=Series([-25,0,70])
s.plot(ylim=(-100,100))

底部有 x 轴的图表

4

1 回答 1

1

到目前为止,我的解决方案确实是使用子图:

from pandas import Series
s=Series([-25,0,70])

import matplotlib.pyplot as plt
fig=plt.figure()
ax=fig.add_subplot(111)
ax.set_ylabel('percentage')
ax.spines['bottom'].set_position('zero')       # x-axis where y=0
#ax.spines['bottom'].set_position('center')     # x-axis at center (not necessarily y=0)
#ax.spines['bottom'].set_position(('data', 50)) # x-axis where y=50
ax.spines['top'].set_color('none')             # hide top axis
ax.spines['right'].set_color('none')           # hide right axis

s.plot(ylim=(-100,100))

x 轴居中的图表

不知道为什么底部的网格线没有显示,但对我来说不是问题

于 2013-05-16T10:27:32.770 回答