python数据可视化之matplotlib.pyplot基础以及折线图

作者:Arwen_H 时间:2023-03-04 22:10:01 

不论是数据挖掘还是数据建模,都免不了数据可视化的问题。对于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模块

python数据可视化之matplotlib.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

python数据可视化之matplotlib.pyplot基础以及折线图

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一般直接运行不需要此步
gridplt.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直方图。
scattery与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)数字为标签位置

实际应用案例

因案例涉及机密数据,只展示数据可视化的过程及结果,先放结果输出的样式

python数据可视化之matplotlib.pyplot基础以及折线图


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

标签:python,matplotlib.pyplot,折线图
0
投稿

猜你喜欢

  • Python字符串大小写转换拼接删除空白

    2023-01-24 13:08:01
  • Python中使用zip函数的七重境界解析

    2021-04-01 19:38:43
  • Python高级特性 切片 迭代解析

    2022-03-28 14:32:49
  • 太有才了!让人称绝的404错误页面

    2007-08-19 15:51:00
  • sqlserver中重复数据值只取一条的sql语句

    2012-06-06 19:46:31
  • Python读取图片为16进制表示简单代码

    2021-07-24 09:34:15
  • MySQL5.6解压版服务无法启动之系统错误1067问题

    2024-01-14 18:20:46
  • javascript获取来源的URL代码

    2009-02-25 12:36:00
  • SQL Server数据转换服务基本概念介绍

    2009-01-20 15:52:00
  • vue awesome swiper异步加载数据出现的bug问题

    2024-05-03 15:10:58
  • go如何删除字符串中的部分字符

    2024-05-22 10:15:54
  • Mysql中的NULL和Empty String

    2024-01-24 02:27:27
  • pytorch 图像预处理之减去均值,除以方差的实例

    2022-04-20 13:43:45
  • Python中and和or如何使用

    2022-04-27 18:01:49
  • Python安装spark的详细过程

    2021-05-17 09:59:05
  • CentOS7离线安装MySQL的教程详解

    2024-01-20 13:07:33
  • Python数据结构之栈、队列的实现代码分享

    2023-12-07 12:39:08
  • python读取excel数据绘制简单曲线图的完整步骤记录

    2022-04-27 10:52:18
  • Golang模拟令牌桶进行对访问的限流方式

    2024-04-26 17:34:25
  • python 的赋值语句和基本输入输出详解

    2021-07-29 13:55:55
  • asp之家 网络编程 m.aspxhome.com