Вот что я хочу сделать, графики гистограммы всех столбцов кадра данных, но без осей сетки. Ниже код работает, но предпочтительно я хотел бы более элегантное решение (например, передавая аргумент Hist)Как сделать оси сетки невидимыми для pandas dataframe hist()?
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
X = np.asarray([50]*25+[30]*10)
X2 = np.asarray([90]*10+[20]*25)
X3 = np.asarray([10]*15+[70]*20)
df = pd.DataFrame(np.vstack([X, X2, X3]).T)
def plot_hists(df, nbins=10, figsize=(8, 8), disable_axis_labels = True):
plt.close('all')
grid_of_ax_hists = df.hist(bins=nbins, figsize=figsize)
if disable_axis_labels:
for row in grid_of_ax_hists:
for ax in row:
ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)
plt.show()
df.hist()
plt.subplots()
plot_hists(df, nbins=10, figsize=(8, 8), disable_axis_labels = True)
К сожалению, это не работает, я получаю «UserWarning: Для вывода нескольких сюжетных, фигура, содержащая пройденные оси очищается „очищается“, UserWarning» , а затем сюжет, который выводится по-прежнему имеет ось –