【问题标题】:marking specific ordinates on pandas hist在 pandas hist 上标记特定坐标
【发布时间】:2017-05-11 16:22:31
【问题描述】:

我有一个 Pandas DataFrame,例如,我使用 DataFrame.hist() 绘制计数直方图

my_v['v'].hist(bins=50)

当然,有一个网格,但我想为某些纵坐标的特定值添加垂直线,比如 df where 的值

w0 = 144.0
df=pd.DataFrame(w0/np.arange(1,6))

有什么线索吗? 提前谢谢你

【问题讨论】:

  • 当然,没有必要使用像 DataFrame 这样复杂的对象来列出 144.0/n、n 从 1 到 5 或 6 等相当小的值。这只是给出一个准确地说是一行代码。

标签: python python-2.7 pandas matplotlib histogram


【解决方案1】:

你需要使用axvline来添加垂直线。

# Create some random data
np.random.seed(42)
df = pd.DataFrame(np.random.choice(list(range(200)), (100,5)), columns=list('abcde'))

在当前图形上绘制直方图。遍历数组以在此现有坐标区对象上绘制垂直线。

w0 = 144.0
df['a'].hist(bins=50, color='g')
for co_ords in np.nditer(w0/np.arange(1,6)):
    plt.axvline(co_ords, color='k')

您甚至可以通过调整各种关键字参数以满足您的目的来改变多条垂直线的线宽/y 轴跨度限制。

【讨论】:

  • 它可以工作并且完全符合我的需求!非常感谢。
猜你喜欢
  • 2018-05-28
  • 2013-11-06
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
相关资源
最近更新 更多