环境 Jupyter notebook基本使用
matplotlib
能将数据进行可视化、更直观的呈现
使数据更加客观、更具有说服力
from matplotlib import pyplot as plt
x = range(2,26,2) #数据在x轴,是可迭代对象
y = [1,2,3,4,5,6,23,34]
plt.plot(x, y)
plt.show()
matlplotlib默认不支持中文字符,默认的英文字体无法显示汉字,
查看linux/mac下面支持的字体: fc-list 查看支持的字体 fc-list :lang=zh 查看支持的中文(冒号前面有空格)
如何修改matplotlib的默认字体? 通过matplotlib.rc可以修改,具体方法参见源码(windows/linux) 通过matplotlib 下的font_manager可以解决(windows/linux/mac)
#设置中文字体(指定具体的字体文件路径,然后再需要显示总问的地方添加fontproperties参数)
my_font = font_manager.FontProperties(fname=r"c:\windows\fonts\simsum.ttc") (windows的路径)
plt.xlabel("x轴",fontproperties=my_font)
在一个图上绘制多个图形,plt多次plot即可
matplot练习:
# coding=utf-8
from matplotlib import pyplot as plt
import random
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)
# 调整x轴的刻度
# _x = list(x)[::10]
_xtick_label = ["10点{}分".format(i) for i in range(120)]
# 取步长、数字和字符串一一对应,数据的长度一样
plt.xticks(list(x)[::3], _xtick_label[::3], rotation=90, fontproperties=my_font) # rotation旋转的度数
# 添加描述信息
plt.xlabel("时间", fontproperties=my_font)
plt.ylabel("温度 单位摄氏度", fontproperties=my_font)
plt.title("温度变化", fontproperties=my_font)
plt.show()
常用统计图对比:
折线图:以折现的上升或下降来表示统计数量的增减变化的统计图。特点:能够显示数据的变化趋势,反映事物的变化情况
直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据范围,纵轴表示分布情况。特点:绘制连续性的数据,展示一组或者多组数据的分布状况(统计)
条形图:排列在工作表的列或行中的数据可以绘制到条形图中。 特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)
散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量 之间是否存在某种关联或总结坐标点的分布模式。 特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)