Python使用Matplotlib绘制饼图与直方图的实战代码解析

阿橙
阿橙
发布时间:2026-10-12 | 1人浏览过
原创

本文详细展示了如何使用Python的Matplotlib库绘制饼图和直方图。通过读取CSV数据,利用Pandas进行分组统计,并配置字体、颜色及参数,分别生成了展示品牌分布的饼图和展示用户购买数量的直方图(含累计效果)。代码包含完整的数据处理与绘图逻辑,适合数据分析入门参考。

本文提供了使用Python绘制饼图和直方图的具体实现代码,供读者参考学习。

#饼图,常与结构分析结合使用
import pandas
import numpy
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
#导入数据
plot_pie=pandas.read_csv('D://Python projects//reference data//6.3//data.csv')
#计算每个品牌的用户数,保留序列
result=plot_pie.groupby(
        by=['通信品牌'],
        as_index=False
        )['号码'].agg({
                '用户数':numpy.size})
#使用弹窗绘图
%matplotlib qt
#设置长宽分辨率
plt.figure(figsize=(20,20),dpi=10)
#使用绝对路径获取字体的名称的方法
fontname=font_manager.FontProperties(
        fname="C://Windows//Fonts//FZSTK.TTF")
#设置字体
font={
      'family':fontname.get_name(),
      'size':20}
matplotlib.rc('font',**font)
#设置横轴与纵轴等长的饼图
plt.axis('equal')
#绘制饼图
plt.pie(
        result['用户数'],
        labels=result['通信品牌'],
        autopct='%.2f%%')
#设置突出的部分
explode=(0.1,0.2,0.3)
plt.axis('equal')
plt.pie(
        result['用户数'],
        labels=result['通信品牌'],
        autopct='%.2f%%')

生成的饼图结果如下:

直方图的绘制过程与结果如下:

#直方图
import pandas
import matplotlib
from matplotlib import pyplot as plt
#设置字体
font={
      'family':'SimHei',
      'size':15}
matplotlib.rc('font',**font)
#导入数据
data_histogram=pandas.read_csv('D://Python projects//reference data//6.5//data.csv')
maincolor=(42/256,87/256,141/256,1)
#绘制初步直方图
plt.hist(data_histogram.购买用户数,
         color=maincolor)
plt.hist(data_histogram['购买用户数'],
         color=maincolor)

调整分组数量后的直方图结果如下:

#设置分组个数为30
plt.hist(data_histogram.购买用户数,
         bins=(30),
         color=maincolor)

启用累计计算后的直方图(瀑布图效果)结果如下:

#绘制瀑布图,即累计计算
plt.hist(data_histogram.购买用户数,
         bins=(30),
         cumulative=True,
         color=maincolor)

最终生成的累计直方图结果如下:

以上内容为本文的全部代码与解析,希望对读者的学习有所帮助,欢迎继续支持本站获取更多技术资源。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表