Python中如何为数组绘制横轴为元素名、纵轴为出现次数的直方图
离散元素频次直方图实现方法
核心逻辑
- 先统计数组中每个元素的出现次数,得到元素与次数的对应映射,示例数组
arr= ['a','a','a','b','c','b']统计后结果为:a出现3次,b出现2次,c出现1次 - 以元素为横轴分类标签,出现次数为纵轴数值,调用绘图库的柱状图接口绘制即可(横轴为离散分类的频次图本质为柱状图,也常被称为分类直方图)
Python 实现代码
依赖collections做频次统计、matplotlib做绘图:
from collections import Counter import matplotlib.pyplot as plt # 输入数组 arr = ['a','a','a','b','c','b'] # 统计各元素出现次数 count_result = Counter(arr) # 提取横轴、纵轴数据 x_labels = count_result.keys() y_counts = count_result.values() # 绘图 plt.bar(x=x_labels, height=y_counts) # 加轴标签 plt.xlabel("元素名称") plt.ylabel("出现次数") # 展示图像 plt.show()
R 实现代码
# 输入数组 arr <- c('a','a','a','b','c','b') # 统计频次 count_result <- table(arr) # 绘图 barplot(count_result, xlab = "元素名称", ylab = "出现次数")
其他语言实现逻辑完全一致,先完成频次统计再调用对应语言的绘图库柱状图接口即可。
内容的提问来源于stack exchange,提问作者user12217822
相关产品推荐
相关产品推荐

