数据分析基础之matplotlib绘制折线图
2019-08-09 18:27
429 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44953902/article/details/98853366
什么是数据分析
数据分析是用适当的方法对手机来的大量数据及逆行分析,帮助人们做出判断,以便采取适当行动。
数据分析的流程
- 提出问题
- 准备数据
- 分析数据
- 获得数据
- 成果可视化或者其他
数据分析的可视化工具–matplotlib
matplotlib的好处?
- 能将数据进行可视化,更直观的呈现
- 使数据更加客观、更具说服力
matplotlib基本要点
例:假设一天中每隔两个小时(range(2,26,2))的气温(摄氏度)分别是[15,13,14.5,17,20,25,26,26,27,22,18,15]
# 导入pyplot from matplotlib import pyplot as plt # 数据在x轴的位置,是一个可迭代对象 x = range(2,26,2) # 数据在x轴的位置,是一个可迭代对象 y = [15,13,14.5,17,20,25,26,26,27,22,18,15] # x轴和y轴的数据一起组成了所有要绘制出的坐标,分别是(2,15),(4,13)...... # 传入x和y,通过plot绘制出折线图 plt.plot(x,y) # 在执行程序的时候展示图形 plt.show()
目前存在的问题:
- 设置图片大小(想要一个高清无码的大图)
plt.figure(figsize=(16,8),dpi=80)
- 保存到本地
plt.savefig("./sig_size.png")
- 描述信息,比如x轴和y轴表示什么,这个图表示什么
plt.xlabel("时间",fontproperties=my_font) plt.ylabel("温度 单位:(摄氏度)",fontproperties=my_font) plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)
- 调整x或者y的刻度的间隔
- 线条的样式(比如颜色、透明度等)
plt.plot(x,y1,label="自己",color='r',linestyle='--',alpha=0.7)
针对以上问题进行修改
调整X或Y轴上的刻度 如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?
a = [random.randint(20,35) for i in range(120)]设置中文显示
matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字。如何修改matplotlib的默认字体?
from matplotlib import font_manager my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/SIMYOU.TTF") plt.xticks(_x[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font)
完整代码
from matplotlib import pyplot as plt import random from matplotlib import font_manager my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/SIMYOU.TTF") plt.figure(figsize=(20,8),dpi=80) x = range(0,120) y = [random.randint(20,35) for i in range(120)] 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)] # 取步长,数字和字符串一一对应 #rotation旋转的度数 plt.xticks(_x[::3],_xtick_labels[::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()
结果显示:
另一案例
 假设以下数据是统计出自己和同桌从11岁到30岁每年交的男(女)朋友的数量,请绘制出数据的折线图,以便分析自己每年交男(女)朋友的数量走势。
自己:[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1
3ff7
]
同桌:[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 from matplotlib import font_manager # 导入字体 my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/SIMYOU.TTF") # 调整大小,dip参数,让图片更加清晰 plt.figure(figsize=(16,8),dpi=80) # 准备数据 x = range(11,31) y1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] y2 = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1] # 在图中画线,一个是自己,一个是同桌 # 设置标签,颜色以及线的风格 # plt.plot(x,y1,label="自己",color='十六进制颜色',linestyle='--') plt.plot(x,y1,label="自己",color='r',linestyle='--',alpha=0.7) plt.plot(x,y2,label="同桌",color='g',linestyle=':') # 调整x轴上标签,要和x轴的显示的数据一一对应 _xtick_labels = ["{}岁".format(i) for i in x] plt.xticks(x,_xtick_labels,rotation=45,fontproperties=my_font) # 调整y轴标签大小 _ytick_labels = [i/2 for i in range(0,15)] plt.yticks(_ytick_labels) # 添加描述信息 plt.xlabel("岁数",fontproperties=my_font) plt.ylabel("个数",fontproperties=my_font) plt.title("每年交男(女)朋友的数量走势",fontproperties=my_font) # 绘制网格 plt.grid(alpha=0.4) # 添加图例 plt.legend(prop=my_font,loc="upper left") # 添加注释 max_y1 = max(y1) plt.show()
结果显示:
相关文章推荐
- 数据分析第一节:matplotlib 的使用方法------折线图,散点图,直方图,条形图的绘制
- 数据分析基础之matplotlib绘制条形图
- 数据分析基础之matplotlib绘制散点图
- 数据分析-matplotlib-绘制股价图
- 数据分析与挖掘入门——学习笔记(五)Matplotlib的简介、折线图与基础绘画功能
- Python数据分析与应用 第三章 Matplotlib数据可视化基础 (折线图) 上
- python数据分析2——matplotlib应用和应力波的绘制
- matplotlib基础用法绘制折线图
- Python数据分析与应用 第三章 Matplotlib数据可视化基础 (散点图) 中
- 数据分析与展示——Matplotlib基础绘图函数示例
- Python数据分析与应用 第三章 Matplotlib数据可视化基础 (直方图,饼图,箱线图) 下
- python实战二:使用CSV数据绘制带数据标志的折线图(matplotlib)
- python数据分析与展示-Matplotlib基础
- python 数据可视化 matplotlib学习一:绘制简单的折线图
- python数据分析复盘——数据分析相关库之Matplotlib
- 数据分析——matplotlib
- 数据分析(一):matplotlib
- Python进阶(三十八)-数据可视化の利用matplotlib 进行折线图,直方图和饼图的绘制
- 使用matplotlib绘制箱型图(箱线图)及简要分析
- Python Matplotlib绘制入门基础教程