1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 数据分析入门之数据可视化(散点图 折线图 饼图 柱状图 直方图)

数据分析入门之数据可视化(散点图 折线图 饼图 柱状图 直方图)

时间:2020-11-03 01:59:47

相关推荐

数据分析入门之数据可视化(散点图 折线图 饼图 柱状图 直方图)

文章目录

1、散点图1.1、导入数据1.2、数据可视化1.3、设置参数1.4、自定义样式1.5、解决中文不能显示 2、折线图2.1、导入数据2.2、日期类型转换2.3、数据可视化 3、饼图3.1、导入数据3.2、分组统计数量3.2、饼图展示 4、柱状图4.1、导入数据4.2、分组求和4.3、建立X轴的序列4.4、数据可视化4.5、三维柱状图4.6、堆叠柱状图 5、直方图5.1、导入数据5.2、绘制直方图5.3、设置分组数5.4、累计分布

1、散点图

■散点图( scatter diagram) : 是以一个变量为横坐标,另一变量为纵坐标,利用散点(坐标点)的分布形态反映变量关系的一种图形。

散点图绘图函数:

plot(x,y,'.',color=(r,g,b))plt.xlabel('x轴标签')plt.ylabel('y轴标签')plt.grid(True)

plot参数说明:

●x、y,X轴和Y轴的序列

●’.’、 ‘o’ ,小点还是大点

●color ,散点图的颜色,可以用rgb定义,也可以用英文字母定义,(red,green,blue)~0到1,和其他语言0到255区分一下

1.1、导入数据

import matplotlibfrom pandas import read_csvimport matplotlib.pyplot as pltdata = read_csv("F:\\数据分析\\数据分析3\\章节5数据可视化\\5\\5.1\\data.csv")

1.2、数据可视化

plt.plot(data['广告费用'],data['购买用户数'],'.')#把数据赋给(x,y)

1.3、设置参数

plt.plot(data['广告费用'],data['购买用户数'],'.')#把数据赋给(x,y)plt.xlabel('广告费用')#设置x轴的名称plt.ylabel('购买用户数')plt.grid(True)#呈现网格线plt.show()#可视化展示

1.4、自定义样式

# plt.plot(data['广告费用'],data['购买用户数'],'o',color='yellow')#把数据赋给(x,y),'o'表示圆圈,color显示颜色# plt.plot(data['广告费用'],data['购买用户数'],'*',color=(1,0.6,0.2))#把数据赋给(x,y),'*'呈现*,rgb表示颜色plt.plot(data['广告费用'],data['购买用户数'],'d',color='#aabbcc')#把数据赋给(x,y),'d'呈现菱形,rgb表示颜色plt.xlabel('广告费用')#设置x轴的名称plt.ylabel('购买用户数')plt.grid(True)#呈现网格线plt.show()#可视化展示

1.5、解决中文不能显示

•如果中文不能正常显示,可以加上

font = {'family': 'MicroSoft Yahei','weight': 'bold','size': 12}matplotlib.rc("font", **font)

•如果中文和正负不能正常显示,可以加上

from matplotlib import rcParams#支持中文plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

2、折线图

■折线图:也称趋势图,它是用直线段将各数据点连接起来而组成的图形,以折线方式显示数据的变化趋势。

折线图绘图函数:

•plot(x,y,style,color,linewidth);

•title(‘图的标题’)

参数说明:

•style,画布的样式;

•color,画线的颜色

•linewidth,线的宽度

style样式:

2.1、导入数据

import pandasfrom pandas import read_csvimport matplotlib.pyplot as pltdata = read_csv("F:\\数据分析\\数据分析3\\章节5数据可视化\\5\\5.2\\data.csv")

2.2、日期类型转换

对日期格式进行转化,变成日期类型,字符型不能直接使用

data['购买日期'] = pandas.to_datetime(data['日期'])

2.3、数据可视化

•顺滑的曲线

plt.plot(data['购买日期'],data['购买用户数'],'-')

•设置颜色

plt.plot(data['购买日期'],data['购买用户数'],'-',color='r')

•设置线条粗细

plt.plot(data['购买日期'],data['购买用户数'],'-',color='r',linewidth=6)

•增加表名

plt.plot(data['购买日期'],data['购买用户数'],'-.',color='r')plt.title('手机销售分布图')

3、饼图

■饼图( Pie Graph) :又称圆形图。是一个划分为几个扇形的圆形统计图,它能够直观地反映个体与总体的比例关系。

饼图绘图函数: pie(x, labels, colors, explode, autopct); 参数说明:

3.1、导入数据

import numpy,matplotlibfrom pandas import read_csvimport matplotlib.pyplot as pltdata = read_csv("F:\\数据分析\\数据分析3\\章节5数据可视化\\5\\5.3\\data.csv")

3.2、分组统计数量

先查找有几个通信品牌,再找它对应的号码有多少个

gb = data.groupby(by = ['通信品牌'],as_index=False)['号码'].agg({'用户数':numpy.size#计数})

3.2、饼图展示

plt.pie(gb['用户数'],labels=gb['通信品牌'],autopct='%.2f%%')#%.2f表示保留两位小数,%%表示%

4、柱状图

■柱形图:是一种以长方形的单位长度,根据数据大小绘制的统计图,用来比较两个或以上的数据(时间或类别)。

柱形图绘图函数: bar(left,height,width,color) #竖向柱形图barh(bottom,width,height,color) #横向柱形图 参数说明:

4.1、导入数据

import numpy,matplotlibfrom pandas import read_csvimport matplotlib.pyplot as pltdata = read_csv("F:\\数据分析\\数据分析3\\章节5数据可视化\\5\\5.4\\data.csv")

4.2、分组求和

gb = data.groupby(by = ['手机品牌'],as_index=False)['月消费(元)'].agg({'月消费':numpy.sum #求和})

4.3、建立X轴的序列

index = numpy.arange(gb['月消费'].size)

4.4、数据可视化

竖向柱形图

plt.bar(index,gb['月消费'],1,color='G')

移动柱形图(-向右;+向左,往原点靠拢)

plt.bar(index,gb['月消费'],1,color='G')plt.xticks(index + 1/2,gb.index)

添加横轴标签

plt.bar(index,gb['月消费'],1,color='G')plt.xticks(index,gb.手机品牌)#加上X标签

横向柱形图

plt.barh(index,gb['月消费'],1,color='r')plt.yticks(index,gb.手机品牌)

4.5、三维柱状图

import numpy,matplotlibfrom pandas import read_csvfrom matplotlib import pyplot as pltdata = read_csv("F:\\数据分析\\数据分析3\\章节5数据可视化\\5\\5.4\\data.csv")d1 = '手机品牌'd2 = '通信品牌'v = '月消费'gb = data.groupby(by = [d1,d2])['月消费(元)'].agg({v:numpy.sum})#求对用的月消费之和d1_size = gb.index.levels[0].sized2_size = gb.index.levels[1].sizeindex = numpy.arange(d1_size)colors = ['r','g','b']#定义颜色for i in range(0,d2_size):#遍历每一种颜色的数据print (i)subgb = gb[v][gb.index.labels[1] == i]bar = plt.bar(index*d2_size + i,subgb,color=colors[i])index1 = numpy.arange(d1_size)*d2_sizeplt.xticks(index1 + 3/2,gb.index.levels[0])plt.title('手机品牌对应通信品牌月消费之和')plt.xlabel('手机品牌')plt.ylabel('月消费之和')plt.legend(gb.index.levels[1])#显示图列plt.show()

4.6、堆叠柱状图

import numpy,matplotlibfrom pandas import read_csvfrom matplotlib import pyplot as pltdata = read_csv("F:\\数据分析\\数据分析3\\章节5数据可视化\\5\\5.3\\data.csv")d1 = '手机品牌'd2 = '通信品牌'v = '月消费'gb = data.groupby(by = [d1,d2])['月消费(元)'].agg({v:numpy.sum})#求对用的月消费之和d1_size = gb.index.levels[0].sized2_size = gb.index.levels[1].sizeindex = numpy.arange(d1_size)colors = ['r','g','b']#定义颜色bsum = index*0.0for i in range(0,d2_size):#遍历每一种颜色的数据print(i)subgb = gb[v][gb.index.labels[1] == i]bar = plt.bar(index,subgb,color=colors[i],bottom=bsum)bsum = subgb + 1plt.xticks(index,gb.index.levels[0])plt.title('手机品牌对应通信品牌月消费之和')plt.xlabel('手机品牌')plt.ylabel('月消费之和')plt.legend(gb.index.levels[1])#显示图列plt.show()

5、直方图

■直方图(Histogram) :是用一系列等宽不等高的长方形来绘制,宽度表示数据范围的间隔,高度表示在给定间隔内数据出现的频数,变化的高度形态表示数据的分布情况。

直方图绘图函数: hist(x.color,bins,cumulative=False) 参数说明:

5.1、导入数据

import matplotlibfrom pandas import read_csvfrom matplotlib import pyplot as pltdata = read_csv("F:\\数据分析\\数据分析3\\章节5数据可视化\\5\\5.4\\data.csv")

5.2、绘制直方图

plt.hist(data['手机品牌'])

5.3、设置分组数

plt.hist(data['手机品牌'],bins=20)

5.4、累计分布

plt.hist(data['手机品牌'],bins=20,cumulative=True)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。