matplotlib画图相关知识

本文详细介绍了matplotlib库的数据可视化功能,包括线性图、颜色和标记的使用、中文显示、子图创建、饼图、直方图、极坐标图、散点图等。还分享了16个实用的绘图小技巧,如添加标题、注释、调整颜色、线条样式、坐标轴范围、日期自适应、填充形状等,帮助提升图表的呈现效果。
摘要由CSDN通过智能技术生成

Matplotlib 数据可视化

matplotlib库的介绍

数据可视化第三方库

matplotlib.pyplot 是绘制各类可视化图形的命令子库,相当于快捷方式。

import matplotlib.pyplot as plt 
plt.plot([3,1,4,5,2]) 
plt.ylabel("grade") 
plt.savefig('test',dpi=600)  # 默认PNG文件 
plt.show() 
plt.plot(x,y,format_string,**kwargs) 
format_string:控制曲线的格式字符串  可选 
**kwargs:第二组前面的参数或者更多组 
  • color:控制颜色,color = ‘green’
  • linestyle:线条风格,linestyle=‘dashed’
  • marker:标记风格,marker = ‘o’
  • markerfacecolor:标记颜色,markerfacecolor=‘blue’
  • markersize:标记尺寸,markersize=20

由颜色字符、风格字符和标记字符组成

颜色字符 说明 颜色字符 说明
‘b’ 蓝色 ‘m’ 洋红色
‘g’ 绿色 ‘y’ 黄色
‘r’ 红色 ‘k’ 黑色
‘c’ 青绿色 ‘w’ 白色
‘#008000’ RGB某种颜色 ‘0.8’ 灰度值字符串
风格字符 说明
‘-’ 实线
‘–’ 破折线
‘-.’ 点划线
‘:’ 虚线
" " 无线条
标记字符 说明
‘.’ 点标记
‘,’ 像素标记(极小点)
‘o’ 实心圈标记
‘v’ 倒三角标记
‘^’ 上三角标记
‘>’ 右三角标记
‘<’ 左三角标记
‘1’ 下花三角标记
‘2’ 上花三角标记
‘3’ 左花三角标记
‘4’ 右花三角标记
‘s’ 实心方形标记
‘p’ 实心五角标记
‘*’ 星形标记
‘h’ 竖六边形标记
‘H’ 横六边形标记
‘+’ 十字标记
‘x’ x标记
‘D’ 菱形标记
‘d’ 瘦菱形标记
‘|’ 垂直线标记
简单的线性图
import matplotlib.pyplot as plt
import numpy as np

data = np.arange(10)

plt.plot(data)

plt.show()
颜色、标记和线类型
x = np.array([1,2,3,4,5,6,7,8,9])
y = np.array([2,5,3,4,8,9,7,6,1])

plt.plot(x,y,'g--')
# 显式表达
plt.plot(x,y,linestyle = '--',color = 'g')

plt.show()
# 折线图还可以用标记来凸显实际数据点
from numpy.random import randn
plt.plot(randn(30).cumsum(),'ko--')
plt.plot(randn(30).cumsum(),color = 'k',linestyle = 'dashed',marker = 'o')
pyplot 的中文显示

pyplot并不默认支持中文显示,需要rcParams修改字体实现,会改变全局字体

import matplotlib  
matplotlib.rcParams['font.family']='SimHei' 
属性 说明
‘font.family’ 用于显示字体的名字
‘font.style’ 字体风格,正常‘nomal’或 斜体‘italic’
‘font.size’ 字体大小,整数字号或者‘large’、‘x-small’
import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib   

matplotlib.rcParams['font.family']='SimHei' 
matplotlib.rcParams['font.size']=20  

a = np.arange(0.0,5.0,0.02)  

plt.xlabel('横轴:时间') plt.ylabel('纵轴:振幅') 
plt.plot(a,np.cos(2*np.pi*a),'r--') 
plt.show()  

第二种方法,在有中文输出的地方,增加一个属性:fontproperties

import numpy as np 
import matplotlib.pyplot as plt  

a = np.arange(0.0,5.0,0.02)  

plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=20) 
plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=20) plt.plot(a,np.cos(2*np.pi*a),'r--') 
plt.show()  


pyplot 的文本显示

函数 说明
plt.xlabel() 对x轴增加文本标签
plt.ylabel() 对y轴增加文本标签
plt.title() 对图形整体增加文本标签
plt.text() 在任意位置增加文本
plt.annotate() 在图形中增加带箭头的注解
import numpy as np 
import matplotlib.pyplot as plt  

a = np.arange(0.0,5.0,0.02) 

plt.plot(a,np.cos(2*np.pi*a),'r--')  

plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=15,color='green') plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=15) 

plt.title(r'正弦波实例 $y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25) plt.text(2,1,r'$\mu=100$',fontsize=15)  

plt.axis([-1,6,-2,2]) 
plt.grid(True)  # 加入网格线

plt.show() 
plt.annotate(s,xy=arrow_crd,xytext=text_crd,arrowprops
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值