You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

绘制布尔值数据时分类标签未显示,如何设置分类坐标轴?

解决布尔值柱状图x轴显示数值而非分类标签的问题

问题描述

我在Pandas数据框中有一列名为TFColumn的布尔值(即TRUE或FALSE)数据,尝试用柱状图统计TRUE和FALSE的数量。但x轴显示的是数值而非TRUE/FALSE分类标签,请问如何将数值轴改为分类坐标轴?当前使用的绘图代码如下:

plt.bar(dat[dat.yr == 2019]['TFColumn'].value_counts().index, dat[dat.yr == 2019]['TFColumn'].value_counts().values)

解决方案

方法1:手动设置x轴刻度标签

matplotlib会默认把布尔值转为0/1显示,直接通过set_xticks和set_xticklabels指定标签即可:

import matplotlib.pyplot as plt

# 筛选数据并统计计数
filtered_tf = dat[dat.yr == 2019]['TFColumn']
count_result = filtered_tf.value_counts()

# 绘图并设置标签
fig, ax = plt.subplots()
ax.bar(count_result.index, count_result.values)
# 设置刻度位置和对应标签
ax.set_xticks(count_result.index)
ax.set_xticklabels(['False', 'True'])  # 也可以用count_result.index.astype(str)自动转换

plt.show()

方法2:用Pandas内置的plot.bar()(最简便)

Pandas的绘图方法会自动识别布尔类型的索引,直接显示True/False标签:

dat[dat.yr == 2019]['TFColumn'].value_counts().plot(kind='bar')
plt.show()

方法3:将索引转为字符串类型再绘图

把布尔索引转换成字符串,让matplotlib直接识别为分类:

count_result = dat[dat.yr == 2019]['TFColumn'].value_counts()
plt.bar(count_result.index.astype(str), count_result.values)
plt.show()

内容的提问来源于stack exchange,提问作者324

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:51:53