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

时间:2022-08-25 22:54:31

不论是数据挖掘还是数据建模,都免不了数据可视化的问题。对于python来说,matplotlib是最著名的绘图库,它主要用于二维绘图,当然它也可以进行简单的三维绘图(基于spyder)。

- 模块引用

?
1
import matplotlib.pyplot as plt #引用画图库中的pyplot模块

-折线条图

语法

?
1
2
3
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的参数来进行调整

美化示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
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一般直接运行不需要此步
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)数字为标签位置

实际应用案例

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

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

?
1
2
3
4
5
6
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
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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轴名称及字体大小

总结

到此这篇关于python数据可视化之matplotlib.pyplot基础以及折线图的文章就介绍到这了,更多相关python matplotlib.pyplot折线图内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/Arwen_H/article/details/81282716