python数据可视化之matplotlib.pyplot基础以及折线图
作者:Arwen_H 发布时间:2023-03-04 22:10:01
标签:python,matplotlib.pyplot,折线图
不论是数据挖掘还是数据建模,都免不了数据可视化的问题。对于Python来说,Matplotlib是最著名的绘图库,它主要用于二维绘图,当然它也可以进行简单的三维绘图(基于spyder)。
- 模块引用
import matplotlib.pyplot as plt #引用画图库中的pyplot模块
-折线条图
语法
import matplotlib.pyplot as plt
data=[1,2,3,4,5,4,2,4,6,7] #随便创建了一个数据
plt.plot(data) #引用画图库中的pyplot模块
plot参数
基本折线图不能满足,这时就需plot的参数来进行调整
美化示例:
import matplotlib.pyplot as plt
yy=[1,2,3,4,5,4,2,4,6,7]#随便创建了一个数据
xx=[3,5,4,1,2,3,4,5,6,3]
zz=[2,3,4,6,4,3,2,4,5,6]
plt.plot(yy,color='r',linewidth=5,linestyle=':',label='数据一')#color指定线条颜色,labeL标签内容
plt.plot(xx,color='g',linewidth=2,linestyle='--',label='数据二')#linewidth指定线条粗细
plt.plot(zz,color='b',linewidth=0.5,linestyle='-',label='数据三')#linestyle指定线形为点
plt.legend(loc=2)#标签展示位置,数字代表标签具位置
plt.xlabel('X轴称')
plt.ylabel('Y轴的名称')
plt.title('2018.7.30折线图示例')
plt.ylim(0,10)#Y轴标签范围为0-10
plt常用参数有:
官网详细说明点这里
属性 | 描述 |
---|---|
xlabel | 设置当前轴的x轴标签:plt.xlabel(‘X标签名') |
ylabel | 设置当前轴的y轴标签:plt.xlabel(‘y标签名') |
title | 设置当前轴的标题:plt.title(‘图例标题名') |
ylim | 获取或设置当前轴的y限制,plt.ylim(0,6)Y轴范围0-6;Xlim同理懒的写了 |
legend | 在轴上放置图例:legend()无参数自动识别,也可用数字指定位置1,2,3,4试着来 |
show | 展示所画图,spyder一般直接运行不需要此步 |
grid | plt.grid()打开或关闭轴网格,网格一样能设置颜色线型 |
rcParams[‘font.sans-serif'] | 图表中文字体:plt.rcParams[‘font.sans-serif']=[‘SimHei']微软雅黑;或=[‘Microsoft Yahei']黑体 |
rcParams[‘axes.unicode_minus'] | 图表轴负数符号显示问题:plt.rcParams[‘axes.unicode_minus'] = False |
plt常画图例有:
官网详细说明点这里
属性 | 描述 |
---|---|
plot | 绘制y与x作为线和/或标记。 |
plot_date | 绘制包含日期的数据。 |
acorr | 绘制x的自相关。 |
axhline | 在轴上添加一条水平线。 |
bar | 制作条形图。 |
barh | 制作一个水平条形图。 |
hist | 绘制直方图 |
hist2d | 制作2D直方图。 |
scatter | y与x的散点图,具有不同的标记大小和/或颜色。 |
stackplot | 绘制堆积区域图。 |
plot常用参数有:
官网详细说明点这里
属性 | 描述 |
---|---|
color | 字体颜色:color=‘r';b、g、r、c、m、y、k、w 或者blue、green、red、cyan、magenta、yellow、black、whtite 或十六进制字符串('#008000') |
linewidth | 线条粗细:linewidth=1.=5.=0.3 |
linestyle | 线条形状:linestyle='–'(虚线);linestyle=':'(点线);linestyle='-.'(短线加点); |
label | 数据标签内容:label=‘数据一',数据标签展示位置需另说明plt.legend(loc=1)数字为标签位置 |
实际应用案例
因案例涉及机密数据,只展示数据可视化的过程及结果,先放结果输出的样式
import pandas as pd #导入pandas库
import pymysql as mysql #导入mysql库
import matplotlib.pyplot as plt #导入数据可视化库
import numpy as np #导入numpy库
plt.rcParams['font.sans-serif'] = ['Microsoft Yahei'] #指定文字字体格式为微软雅黑字段
plt.rcParams['axes.unicode_minus'] = False
connection=mysql.connect(host='数据库ip',port='端口',user='用户账号',password='登录密码',db='连接的库名',charset='utf8')#设置连接数据库的参数
select=connection.cursor()#创建游标
select.execute("SELECT * FROM tabel")#写入SQL查询语句
zd=list((pd.DataFrame(list(select.description)))[0])#获取查询结果的列名
sqldata=select.fetchall()#获取查询结果
select.close #关闭查询
connection.close #关闭数据库接接
data1=pd.DataFrame(list(sqldata)) #将数据转化成df类型
data1.columns=zd #将列名重置为查询结果列名
plt.figure(figsize=(10,5)) #设置图表大小,长10,宽5
plt.plot(data1['机器A拟合度'],label='机器A准确率',color='#aa0000',linestyle='-',linewidth=3)#画机器A准确率的线条
plt.plot(data1['人工A拟合度'],label='人工A准确率',color='#aa0000',linestyle=':',linewidth=3)#画人工A准确率的线条
plt.plot(data1['机器B拟合度'],label='机器B准确率',color='#666666',linestyle='-',linewidth=3)#画机器B准确率的线条
plt.plot(data1['人工B拟合度'],label='人工B准确率',color='#666666',linestyle=':',linewidth=3)#画人工B准确率的线条
plt.plot([0,7],[0.9,0.9],color='g',linestyle='-.',linewidth=1)#画一根绿色的辅助线,x轴从0到7,Y轴为0.9
plt.xticks(np.arange(8),('wk23','wk24','wk25','wk26','wk27','wk28','wk29','wk30'))#更改图表X标签为制定内容
plt.legend(loc=4)#将图例说明放在图表的右下角
plt.title('人机绝对准确率6.4-7.29',fontsize=20)#命名图表名称,设置字体大小
plt.xlabel('周',fontsize=20)#设置X轴名称及字体大小
plt.ylabel('准确率%',fontsize=20)#设置Y轴名称及字体大小
总结
来源:https://blog.csdn.net/Arwen_H/article/details/81282716


猜你喜欢
- crtrl.py监控Apache服务器进程的Python 脚本!/usr/bin/env Python import os, sys, ti
- # -*- coding: utf-8 -*- #mysqldb &nb
- php随机数生成一个给定范围的随机数,用 PHP 就太简单不过了,而且可以指定从负数到正整数的范围,如:<?phpecho mt_ra
- 痛点json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。 你是否遇到过json中某个字段
- 本文实例讲述了python关于矩阵重复赋值覆盖问题的解决方法。分享给大家供大家参考,具体如下:import itertoolsimport
- 一.介绍多表查询就是同时查询两个或两个以上的表,因为有的时候用户在查看数据的时候,需要显示的数据来自多张表.多表查询有以下分类:交叉连接查询
- SQL Server备份是一项系统工程,十分耗费时间。由于运行期间数据库持续增长,所以相应的备份也要花掉更多时间。通常100G的数据库就被视
- 本文实例为大家分享了小程序自定义弹出框效果的具体代码,供大家参考,具体内容如下my-pop----api:title ------字符串--
- 假定业务:查看在职员工的薪资的第二名的员工信息创建数据库drop database if exists emps;create databa
- 内容摘要:您是否想让您的网站有多种显示风格呢,本文介绍了如何使用CSS结合js实现动态更换页面皮肤风格。看了下面的介绍您就明白了如何实现了这
- 本篇文章主要介绍了Python基于mysql实现学生管理系统,分享给大家,具体如下:import pymysqlimport redef i
- 环境系统 : win 10 显卡:gtx965m cpu :i7-6700HQ python 3.61 pytorch 0.3包引用impo
- 1. 功能说明,在页面使用smarty循环100次输出,类似for循环100次{section name=total loop=100}{$
- 一个小需求---实现车牌识别。目前有两个想法1. 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以
- 直接看如下图解1、右击项目,查看提交历史2、选择要回滚的版本,点击回滚3、push回滚的内容:双击该回滚记录,弹出后,检查一下回滚的内容,没
- 1、背景我们先谈谈为什么在Python编码过程中强烈推荐使用类型注解 ?Python对于初学者来说是非常好上手,原因是在于对计算机底层原理的
- 本文以实例形式展示了Python算法中栈(stack)的实现,对于学习数据结构域算法有一定的参考借鉴价值。具体内容如下:1.栈stack通常
- 好久没写技术相关的文章,这次写篇有意思的,关于一个有意思的游戏——QQ找茬,关于一种有意思的语言——Python,关于一个有意思的库——Qt
- 前言:如果正在看文章的你,还不会绘制折线图,请看如何使用matplotlib绘制折线图这篇文章,该文章会仔细而详尽的告诉你绘制折线图的方法。
- 使用pyinstaller可以把.py文件打包为.exe可执行文件,命令为:pyinstaller hello.py打包后有两个文件夹,一个