python数据可视化(二)读取csv数据绘制条形图

  • Post author:
  • Post category:python


之前介绍了如何读取csv数据绘制饼状图

这次接着介绍如何读取数据绘制条形图

读取csv中的年龄并绘制成区间图


只是一个很简单的实例,如果需要扩展丰富,只需要往这个模板往上加就是了

csv文件链接:https://pan.baidu.com/s/1aLlGEcZEkMiTf9Pfsh-9WQ

提取码:jr5t

import csv
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
def age_Dis():#统计年龄分布
    pr = pd.read_csv("hydata_swjl_0.csv")
    pr1 = pd.read_csv("hydata_swjl_1.csv", low_memory=False)
    print("统计年龄分布:")
    print()
    age = []
    for i in pr['BIRTHDAY']:
        age.append(int((20181219 - i) / 10000))
    print(age)
    age1=[]
    age2=[]
    age3=[]
    age4=[]
    age5=[]
    for i in age:
        if 18<=i<25:
            age1.append(i)
        elif 25<=i<35:
            age2.append(i)
        elif 35<=i<45:
            age3.append(i)
        elif 45<=i<55:
            age4.append(i)
        else:
            age5.append(i)

    index=['18~25','25~35','35~45','45~55','others']
    values=[len(age1),len(age2),len(age3),len(age4),len(age5)]
    plt.bar(index,values)
    plt.show()
   
if __name__=="__main__":
    age_Dis()

展示结果:

注:

问:为什么要用条形图??

答:数据太多(一百万多条),如果用其他图就不能很好的显示出来

比如说,使用折线图:

如图:就完全看不出年龄的分布情况

代码如下:

  # 绘制成折线图'''
'''
    plt.axis([0, 1100000, 0, 75])
    plt.xlabel('People Number',color='red')
    plt.ylabel('Peoples Name',color='red')
    plt.title('Age Distribution',fontsize=15)
    plt.plot(age)
    plt.show()
    print("折线图效果太差,因采用柱形图")
'''

因而,在数据过大的情况下,最好采用条形图



版权声明:本文为badder2原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。