01.数据分析的介绍
什么是数据分析
数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。
数据分析流程
03.matplotlib的基础绘图
为什么要学习matplotlib
- 能将数据进行可视化,更直观的呈现
- 使数据更加客观、更具说服力
matplotlib基本要点
axis轴,指的是x或者y这种坐标轴
from matplotlib import pyplot as plt
x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,24,22,18,15]
#绘图
plt.plot(x,y)
#显示图片
plt.show()
04.matplotlib的基础绘图和调整x轴的刻度
调整x轴的刻度
from matplotlib import pyplot as plt
x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,24,22,18,15]
#设置图片大小
plt.figure(figsize=(20,8),dpi=60)
#绘图
plt.plot(x,y)
#设置x轴的刻度
plt.xticks(range(2,25))
_xtick_labels = [i/2 for i in range(4,49)]
plt.xticks(_xtick_labels[::3])
#保存
plt.savefig(".t1.png")
#显示图片
plt.show()
05.matplotlib的绘制10点到12点的气温
绘制10点到12点的气温
那么问题来了:
如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?
a= [random.randint(20,35) for i in range(120)]
from matplotlib import pyplot as plt
import random
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
#绘图
plt.plot(x,y)
#显示图片
plt.show()
06.matplotlib设置显示中文
matplotlib设置显示中文
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y)
_xtick_lables = ["10点{}分".format(i) for i in range(60)]
_xtick_lables += ["11点{}分".format(i) for i in range(60)]
plt.xticks(list(x)[::3],_xtick_lables[::3],rotation=45,fontproperties=my_font)
#显示图片
plt.show()
07.matplotlib的设置图形信息
matplotlib的设置图形信息
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y)
_xtick_lables = ["10点{}分".format(i) for i in range(60)]
_xtick_lables += ["11点{}分".format(i) for i in range(60)]
plt.xticks(list(x)[::3],_xtick_lables[::3],rotation=45,fontproperties=my_font)
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位(摄氏度)",fontproperties=my_font)
plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)
#显示图片
plt.show()
08.绘制多次图形和不同图形的差异介绍和总结
绘制多次图形和不同图形的差异介绍和总结
假设大家在30岁的时候,根据自己的实际情况,统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己每年交女(男)朋友的数量走势
a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
要求: y轴表示个数 x轴表示岁数,比如11岁,12岁等
from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager
x=range(11,31)
y=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y)
plt.grid(alpha=0.1)
_xtick_lables=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_lables,fontproperties=my_font)
#显示图片
plt.show()
假设大家在30岁的时候,根据自己的实际情况,统计出来了你和你同桌各自从11岁到30岁每年交的女(男)朋友的数量如列表a和b,请在一个图中绘制出该数据的折线图,以便比较自己和同桌20年间的差异,同时分析每年交女(男)朋友的数量走势
a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] b = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1]
要求: y轴表示个数 x轴表示岁数,比如11岁,12岁等
from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager
x=range(11,31)
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1]
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y_1)
plt.plot(x,y_2)
plt.grid(alpha=0.1)
_xtick_lables=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_lables,fontproperties=my_font)
#显示图片
plt.show()
from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager
x=range(11,31)
y_1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2=[1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1]
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#绘图
plt.plot(x,y_1,label="自己",color="orange",linestyle=":")
plt.plot(x,y_2,label="同桌",color="c",linestyle="-.")
plt.grid(alpha=0.5)
_xtick_lables=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_lables,fontproperties=my_font)
#添加图例
plt.legend(prop=my_font,loc="upper left")
#显示图片
plt.show()
matplotlib能够绘制折线图,散点图,柱状图,直方图,箱线图,饼图等
但是,我们需要知道不同的统计图到底能够表示出什么,以此来决定选择哪种统计图来更直观的呈现我们的数据
对比常用统计图
折线图:以折线的上升或下降来表示统计数量的增减变化的统计图
特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)
直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。
一般用横轴表示数据范围,纵轴表示分布情况。 特点:绘制连续性的数据,展示一组或者多组数据的分布状况(统计)
条形图:排列在工作表的列或行中的数据可以绘制到条形图中。
特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)
散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量 之间是否存在某种关联或总结坐标点的分布模式。
特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)