gpt4 book ai didi

Python Pandas 直方图对数刻度

转载 作者:IT老高 更新时间:2023-10-28 21:58:49 34 4
gpt4 key购买 nike

我正在使用 pandas 制作一个相当简单的直方图

results.val1.hist(bins=120)

效果很好,但我真的想在 y 轴上有一个对数刻度,我通常(可能不正确)这样做:

fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(111)
plt.plot(np.random.rand(100))
ax.set_yscale('log')
plt.show()

如果我用 pandas 命令替换 plt 命令,那么我有:

fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(111)
results.val1.hist(bins=120)
ax.set_yscale('log')
plt.show()

导致相同错误的多个副本:

Jan  9 15:53:07 BLARG.local python[6917] <Error>: CGContextClosePath: no current point.

我确实得到了一个对数刻度直方图,但它只有条的顶线,但没有垂直条或颜色。是做错了什么,还是 Pandas 不支持?

从 Paul H 的代码中,我将 bottom=0.1 添加到 hist 调用解决了这个问题,我猜是某种被零除的东西,或者其他什么。

最佳答案

我建议在 pyplot hist 函数中使用 log=True 参数:

设置步骤

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

df = pd.DataFrame({'column_name': np.random.normal(size=2000)})

使用pyplot:

plt.hist(df['column_name'], log=True)

enter image description here

或者等效地,您可以直接使用数据框列(系列)的 plot 方法:

df["column_name"].plot(kind="hist", logy=True)

还有 logx 用于对 x 轴进行对数缩放,loglog=True 用于对两个轴进行对数缩放。

关于Python Pandas 直方图对数刻度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033720/

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