Matplotlib数据可视化

Matplotlib是⼀个Python 2D,3D绘图库,它以多种硬拷⻉格式和跨平台的交互式环境⽣成出版物质量的图形。 MatplotlibMatplotlib中文网、Matplotlib官方中文文档。https://www.matplotlib.org.cn/

1.模块导⼊

import matplotlib.pyplot as plt    #使⽤pyplot API

import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体,解决中⽂⽆法显示问题

 2.绘制点和线

#使⽤scatter⽅法绘制⼀个点
x1 = np.array([6])
y1 = np.array([4])
plt.scatter(x1,y1)
plt.show()

#使⽤plot⽅法绘制⼀条ju线
x2 = np.array([1,9])
y2 = np.array([1,8]) 
plt.plot(x2,y2)
plt.show()

 #把点和线画在⼀起,并设置样式
plt.scatter(x1,y1,color='blue') 
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--')
plt.text(5.2, 3, '⽂字说明',fontdict={'size': 16, 'color': 'b'})
plt.show()

 

3.使⽤figure绘制多图

⼀个figure代表⼀张图;

上⾯的例⼦,直接调⽤scatter(),默认为⽤户创建了⼀张图figure;如果要定制图的属性,⽐如:⼤⼩,就要显示的创建⼀个figure

#再创建⼀张图,并且设置图的⼤⼩是宽=3cm,⾼=5cmplt.figure(figsize=(3,5))

#(2,2,1)中,表示22列,1表示索引位置;从左上⻆到右下⻆依次增加;⼦图矩阵⾏列数<10,所以(2,2,1)也可以写成(221

plt.subplot(2,2,1) plt.plot(x2,y2,color='red',linewidth=3,linestyle='--') plt.text(5.2, 3, '1',fontdict={'size': 16, 'color': 'b'}) plt.subplot(2,2,2) plt.plot(x2,y2,color='red',linewidth=3,linestyle='--') plt.text(5.2, 3, '2',fontdict={'size': 16, 'color': 'b'}) plt.subplot(2,2,3) plt.plot(x2,y2,color='red',linewidth=3,linestyle='--') plt.text(5.2, 3, '3',fontdict={'size': 16, 'color': 'b'}) plt.subplot(2,2,4) plt.plot(x2,y2,color='blue',linewidth=3,linestyle='--') plt.text(5.2, 3, '4',fontdict={'size': 16, 'color': 'b'})

 4.设置坐标(#当全是数字时,就会按照数值从⼩到⼤有序排列)

x=[25,'Feb','Mar',20,'May']
y=['h',100,'c',33,'k']
plt.plot(x,y)

设置坐标范围

 plt.xlim(0,8)    #设置x轴坐标范围,从0到8 
plt.ylim(0,5)    #设置y轴坐标范围,从0到5 
plt.scatter(x1,y1,color='blue')
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--')
plt.show()

设置坐标标签

 plt.xlabel('I am x',fontsize=15) #设置x轴坐标标签 
plt.ylabel('我是y',fontsize=15) #设置y轴坐标标签
plt.scatter(x1,y1,color='blue')
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--')
plt.show()

 设置图例

x3 = x2
y3 = y2 + 3
plt.plot(x2,y2,color='red',linewidth=3,linestyle='--', label='红⾊haha')
plt.plot(x3,y3,color='blue',linewidth=3,linestyle='-', label='蓝⾊')
#图例上显示的⽂字图元等信息均来源于plot函数中的label、linestyle、color等属性;
plt.legend(loc='lower right')
plt.show()

 

plt.annotate()函数⽤于在图中做⽂字标注;第⼀个参数s为标注的⽂字;

xy参数为被标注的坐标点;

xycoords='data'表示使⽤被注释对象的坐标系统(默认) xytext=(+30, -30)表示标注的⽂字的位置;

textcoords='offset points'表示标注的⽂字的位置使⽤相对于被标注的坐标点的偏移量,(+30, -30)表示相对于被标注点,向右移动30,再向下移动30;这⾥的单位是像素;

arrowprops⽤于设置箭头属性;参数类型为字典dict

width:箭头的宽度(以点为单位) ;headwidth:箭头底部以点为单位的宽度; headlength:箭头的⻓度(以点为单位) ;shrink:总⻓度的⼀部分,从两端收缩” ;facecolor:箭头颜⾊

(%s,%s)⽤了类似print函数的表达,传递参数进⼊字符串;两个参数被赋值% xy, xy=xy zip(x, y)就是把两个数组糅在⼀起;x=[1, 2, 3, 4, 5 ]y=[6, 7, 8, 9, 10]zip(x, y)就得到了

[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)],每个元素是⼀个元组;

x = np.arange(0, 6)
y = x * x
plt.plot(x, y, marker='o')
for xy in zip(x, y):
    plt.annotate("(%s,%s)" % xy, xy=xy, xytext=(-20, 10), textcoords='offset points',weight='heavy',color='y')
plt.show()

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值