如何调整df.hist直方图X轴刻度,使其显示更多细分值
解决DataFrame直方图X轴刻度细分问题
你当前循环绘制DataFrame列的直方图时,X轴默认只显示间隔较大的刻度(如0、5、10),要改成显示0到10的每个整数刻度,只需在循环中给每个子图手动设置X轴刻度即可。
修改后的完整代码如下:
import matplotlib.pyplot as plt import pandas as pd listedvariables = ['distance','duration','sleepiness_bed','sleepiness_waking','normal_time_of_wakeup','number_of_times_wakeup_during_night','time_spent_awake_during_night_mins','time_of_going_to_sleep','time_to_fall_asleep_mins','sleep_onset_time','sleep_period_length_mins','total_sleep_duration_mins','time_in_bed_mins','sleep_efficiency','sleep_bout_length_mins','mid_point_of_sleep','sleepiness_resolution_index'] for var in listedvariables: fig = newerdf[[var]].hist(figsize=(30,20)) for ax in fig.ravel(): ax.title.set_size(40) ax.tick_params(axis='x', labelsize=40) ax.tick_params(axis='y', labelsize=40) # 强制设置X轴显示0到10的所有整数刻度 ax.set_xticks(range(0, 11)) plt.tight_layout()
关键说明:
- 将原循环的索引遍历改为直接遍历变量名,代码可读性更强
ax.set_xticks(range(0,11))会生成0、1、2...10的序列,强制X轴显示这些细分刻度- 如果其他列的X轴数值范围不同,可根据实际数据调整
range参数,比如某列最大值为15,就改为range(0,16)
内容的提问来源于stack exchange,提问作者Caledonian26
相关产品推荐
相关产品推荐

