如何移除Matplotlib Pyplot柱状图名称标签且保留图表结构
解决Matplotlib柱状图X轴标签模糊问题
你不需要移除names参数(这会导致bar()缺少必填参数报错),而是可以保留柱子的结构,仅隐藏X轴的刻度标签,有两种简单实现方式:
方法1:保留名称作为X轴位置,隐藏标签
直接在绘图代码中添加plt.xticks([]),让X轴只保留柱子的位置,不显示文本标签:
import pandas as pd import matplotlib.pyplot as plt # 数据处理部分不变 data = pd.read_csv('results.csv') data = data.sort_values(by=['Accuracy'], ascending=False) accuracy = data['Accuracy'] names = data['Name'] # 绘制柱状图 plt.bar(names, accuracy) plt.title('Accuracy Below 97%') plt.ylabel('Accuracy in Percent') # 隐藏X轴所有刻度标签 plt.xticks([]) plt.show()
方法2:用索引作为X轴位置,隐藏标签
如果不想用名称关联X轴位置,可以用数据的索引代替,再隐藏标签:
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv('results.csv') data = data.sort_values(by=['Accuracy'], ascending=False) accuracy = data['Accuracy'] # 用数据行数的索引作为X轴位置 x_positions = range(len(accuracy)) plt.bar(x_positions, accuracy) plt.title('Accuracy Below 97%') plt.ylabel('Accuracy in Percent') plt.xticks([]) plt.show()
补充说明
plt.bar()必须传入X轴位置和高度两个必填参数,你之前直接移除names相当于缺少了X轴位置参数,所以触发报错。上面两种方法都能保证柱子的排列结构和原代码一致,同时解决标签模糊的问题。
内容的提问来源于stack exchange,提问作者tyl3366
相关产品推荐
相关产品推荐

