1.数据分析流程
提出问题——准备数据——分析数据——获得结论——成果可视化
jupyter notebook
2.matplotlib的使用
matplotlib:仿照matlab的python绘图库
安装maplotlib (conda install matplotlib)
from matplotlib import pyplot as plt
x = range(2,28,2)
#数据在x轴的位置,是一个可迭代的数
#y = range(2,26,2)
y = [15,13,14,5,17,20,25,26,26,27,22,18,15]
#设置图片大小
fig = plt.figure(figsize=(20,8),dpi=80)
# 绘图
plt.plot(x,y)
#绘制x轴的刻度
_xtick_labels = [i/2 for i in range(4,49)]
plt.xticks(_xtick_labels[::3])
plt.yticks(range(min(y),max(y)+1,2))
#plt.xticks(range(2,25))
#保存
plt.savefig("./t1.png")
#展示图形
plt.show()
例题:如果列表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()
修改 x轴和y轴坐标,注意matlablib默认支持中文,fc-list 查看支持的字体;fc-list :lang=zh 查看支持的中文(:前有空格)
通过matplotlib.rc可以修改字体,通过matplotlib下的font_manager进行
在使用第一种方法时,plt.xticks()命令的括号中不需要设置fontproperties
from matplotlib import pyplot as plt
import random
import matplotlib
# 这种方法在Windows和Linux设置字体有效
# font = {'family': 'microsoft YaHei',
# 'weight': 'bold',
# 'size': 8}
# matplotlib.rc("font", **font)
# matplotlib.rc("font", family='microsoft YaHei', weight='bold')
# 这是另外一种设置字体的方法
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\MSYHL.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)
# 调整x轴的刻度
_x = list(x)
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
# 取步长,数字和字符串一一对应,数据的长度一样
plt.xticks(_x[::3], _xtick_labels[::3], rotation=45, fontproperties=my_font) # rotation旋转的度数
#添加描述信息
plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("温度 单位(℃)", fontproperties=my_font)
plt.title("10点到12点每分钟的气温变化情况", fontproperties=my_font)
plt.show()