Python绘图之详解matplotlib

 更新时间:2021年07月31日 08:32:55   作者:金融矿工  
这篇文章主要介绍了Python绘图之详解matplotlib,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

一、matplotlib介绍

matplotlib是python从matlab继承的绘图库,可以满足大部分的日常使用,是目前最流行的底层绘图库。

二、matplotlib的使用

(一)导入模块【中文显示】

显示中文方面mac和windows根据自己电脑系统选一个即可

import matplotlib.pyplot as plt
# 显示中文(mac)
from matplotlib.font_manager import FontManager
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
print(mat_fonts)
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
#显示中文(windows)
from pylab import mpl
#以黑体显示中文
mpl.rcParams['font.sans-serif']=[SimHei]
#解决保存图像是负号 显示为方块的问题
mpl.rcParams['axes.unicode_minus']=False
# 导入numpy 方便下面绘图展示
import numpy as np


(二)画布与画板,简单绘图

和现实世界绘图一样,在matplotlib里绘图我们也需定义画布和画板,其中一个画布里可以存在多个画板。在绘图时首先要指明在哪个画板上绘图。

# 建立一张画布 其中包括2行三列六张画板
fig,axes=plt.subplots(nrows=2,ncols=3,figsize=(20,8))
# data x为测试数据 
np.random.seed(100)
data=np.random.randn(50)
x=np.arange(50)
# 在第一个子图上做折线图
axes[0,0].plot(x,data,linestyle='-',color='b',marker='o')
# 在第二个子图上做直方图
axes[0,1].hist(data,bins=20,facecolor='c')
# 在第三个子图上做垂直条形图同时加上折线
axes[0,2].bar(x,data)
axes[0,2].plot(x,data,linestyle='-.',color='r')
# 在第四个子图上做水平条形图
axes[1,0].barh(x,data)
# 在第五个子图上做饼图 explode为突出显示的部分
explode=[x*0 for x in range(50)]
explode[40]=0.1
axes[1,1].pie(data,explode=explode)
# 在第六个子图上做散点图 explode为突出显示的部分
axes[1,2].scatter(x,data,c='r',marker='o')
plt.show()

在这里插入图片描述

(三)添加图片信息

import matplotlib.pyplot as plt
# 显示中文【mac】
from matplotlib.font_manager import FontManager
fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
print(mat_fonts)
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
#设置所需数据
age = range(11, 31)
jack = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
tom = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
# dpi为设置像素大小
fig = plt.figure(figsize=(20, 8), dpi=80)
# jack与tom11到30交友记录
plt.plot(age, jack, 'r', label='jack', linestyle='-', linewidth=5, marker='o')
plt.plot(age, tom, 'g', label='tom', linestyle='-.', linewidth=5, marker='*')
# 设置x轴数据刻度
plt.xticks(age)
# 设置x轴数据标签
plt.xlabel("age", fontsize=20)
# 设置y轴数据标签
plt.ylabel("numbers", fontsize=20)
# 设置图表标题
plt.title("friends made from 11 to 30", fontsize=20)
# 设置网格线
plt.grid()
# 设置图例位置
plt.legend(loc=0)
# 添加水印
plt.text(30, 2, "交友记录", fontsize=200, color='black', ha='right', va='bottom', alpha=0.1)
# 添加数据标签
plt.text(23, 6, 'max num', fontsize=20, color='b', verticalalignment='center')
#将图保存到当前目录 命名为test.png
plt.savefig('test.png')
plt.show()

在这里插入图片描述

到此这篇关于Python绘图之详解matplotlib的文章就介绍到这了,更多相关python绘图之matplotlib内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言中数组的一些基本知识小结

    C语言中数组的一些基本知识小结

    这篇文章主要介绍了C语言中数组的一些基本知识小结,其中重点是对于数组的内存分配相关方面的知识整理,需要的朋友可以参考下
    2016-04-04
  • C语言实现贪吃蛇游戏设计

    C语言实现贪吃蛇游戏设计

    这篇文章主要为大家详细介绍了C语言实现贪吃蛇游戏设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 基于C语言实现的贪吃蛇游戏完整实例代码

    基于C语言实现的贪吃蛇游戏完整实例代码

    这篇文章主要介绍了基于C语言实现的贪吃蛇游戏完整实例代码,对于学习游戏开发的朋友有一定的借鉴价值,需要的朋友可以参考下
    2014-08-08
  • 使用QT连接USB摄像头的方法

    使用QT连接USB摄像头的方法

    这篇文章主要为大家详细介绍了使用QT连接USB摄像头的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 浅析c#中如何在form的webbrowser控件中获得鼠标坐标

    浅析c#中如何在form的webbrowser控件中获得鼠标坐标

    以下是对c#中如何在form的webbrowser控件中获得鼠标坐标的实现方法进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • C++发送邮件实现代码

    C++发送邮件实现代码

    这篇文章主要为大家详细介绍了C++发送邮件的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • C/C++ 常用排序算法整理汇总分享

    C/C++ 常用排序算法整理汇总分享

    排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。本篇整理了c语言和c++的常用的排序算法,感兴趣的朋友可以参考下
    2021-06-06
  • C 语言程序结构示例解析

    C 语言程序结构示例解析

    本文主要讲解C 语言程序结构,这里提供简单的示例来讲解C 语言程序的结构,有利于刚刚学习C 语言的同学理解程序结构
    2016-08-08
  • C++模拟实现vector的示例代码

    C++模拟实现vector的示例代码

    大家在学习C++的时候一定会学到STL(标准模板库),这是C++标准库中最重要的组成部分,它包含了常用的数据结构和算法。今天呢,我们首先来学习STL中的vector容器
    2022-09-09
  • C语言之结构体(struct)详解

    C语言之结构体(struct)详解

    本文主要介绍C语言 结构体的知识,学习C语言肯定需要学习结构体,这里详细说明了结构体并附示例代码,供大家参考学习,有需要的小伙伴可以参考下
    2021-10-10

最新评论