我有以下具有数千行的pandas数据框。
我想基于“ mains:active_power”和“ mains:reactive_power”绘制二维直方图。 我使用matplotlib库在Python中绘制2D直方图:
import matplotlib.pyplot as plt
fig = plt.subplots(figsize =(10, 7))
plt.hist2d(df["mains:active_power"], df["mains:reactive_power"])
plt.title("Simple 2D Histogram")
plt.show()
它绘制成功,但是我想为x_bin和y_bin定制bin值。 我使用了以下命令:
plt.hist2d(df["mains:active_power"], df["mains:reactive_power"], bins =[x_bins, y_bins]).
x_bins,y_bins是包含bin值的NumPy数组。另外,x_bins,y_bins的大小等于数据帧(df)的长度
每次运行此命令时,都会出现错误:
ValueError:bins[0]
在数组时必须单调递增
如何解决此问题?
谢谢:)
答案 0 :(得分:0)
我认为plt.bar将是一个更好的选择。
width = bins[1] - bins[0]
plt.bar(bins, hist, align="edge", width=width)
plt.show()
希望我能帮上忙。有人问过同样的问题,以供进一步参考。 bins must increase monotonically