NumPy Matplotlib

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

pip3 安装:

pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

Linux 系统也可以使用 Linux 包管理器来安装:

Debian / Ubuntu:sudo apt-get install python-matplotlib

Fedora / Redhat:sudo yum install python-matplotlib

安装完后,你可以使用 python -m pip list 命令来查看是否安装了 matplotlib 模块。

$ pip3 list | grep matplotlib

matplotlib 3.3.0

实例

实例

importnumpyasnpfrommatplotlibimportpyplotaspltx=np.arange(1,11)y=2*x+5plt.title("Matplotlib demo")plt.xlabel("x axis caption")plt.ylabel("y axis caption")plt.plot(x,y)plt.show()

以上实例中,np.arange() 函数创建 x 轴上的值。y 轴上的对应值存储在另一个数组对象 y 中。 这些值使用 matplotlib 软件包的 pyplot 子模块的 plot() 函数绘制。

图形由 show() 函数显示。

图形中文显示

Matplotlib 默认情况不支持中文,我们可以使用以下简单的方法来解决。

这里我们使用思源黑体,思源黑体是 Adobe 与 Google 推出的一款开源字体。

打开链接后,在里面选一个就好了:

可以下载个 OTF 字体,比如 SourceHanSansSC-Bold.otf,将该文件文件放在当前执行的代码文件中:

SourceHanSansSC-Bold.otf 文件放在当前执行的代码文件中:

实例

importnumpyasnpfrommatplotlibimportpyplotaspltimportmatplotlib# fname 为 你下载的字体库路径,注意 SourceHanSansSC-Bold.otf 字体的路径zhfont1=matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf")x=np.arange(1,11)y=2*x+5plt.title("菜鸟教程 - 测试",fontproperties=zhfont1)# fontproperties 设置中文显示,fontsize 设置字体大小plt.xlabel("x 轴",fontproperties=zhfont1)plt.ylabel("y 轴",fontproperties=zhfont1)plt.plot(x,y)plt.show()

执行输出结果如下图:

此外,我们还可以使用系统的字体:

from matplotlib import pyplot as plt

import matplotlib

a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in a:

print(i)

打印出你的 font_manager 的 ttflist 中所有注册的名字,找一个看中文字体例如:STFangsong(仿宋),然后添加以下代码即可:

plt.rcParams['font.family']=['STFangsong']

作为线性图的替代,可以通过向 plot() 函数添加格式字符串来显示离散值。 可以使用以下格式化字符。

字符

描述

'-'

实线样式

'--'

短横线样式

'-.'

点划线样式

':'

虚线样式

'.'

点标记

','

像素标记

'o'

圆标记

'v'

倒三角标记

'^'

正三角标记

'<'

左三角标记

'>'

右三角标记

'1'

下箭头标记

'2'

上箭头标记

'3'

左箭头标记

'4'

右箭头标记

's'

正方形标记

'p'

五边形标记

'*'

星形标记

'h'

六边形标记 1

'H'

六边形标记 2

'+'

加号标记

'x'

X 标记

'D'

菱形标记

'd'

窄菱形标记

'|'

竖直线标记

'_'

水平线标记

以下是颜色的缩写:

字符

颜色

'b'

蓝色

'g'

绿色

'r'

红色

'c'

青色

'm'

品红色

'y'

黄色

'k'

黑色

'w'

白色

要显示圆来代表点,而不是上面示例中的线,请使用 ob 作为 plot() 函数中的格式字符串。

实例

importnumpyasnpfrommatplotlibimportpyplotaspltx=np.arange(1,11)y=2*x+5plt.title("Matplotlib demo")plt.xlabel("x axis caption")plt.ylabel("y axis caption")plt.plot(x,y,"ob")plt.show()

执行输出结果如下图:

绘制正弦波

以下实例使用 matplotlib 生成正弦波图。

实例

importnumpyasnpimportmatplotlib.pyplotasplt# 计算正弦曲线上点的 x 和 y 坐标x=np.arange(0,3*np.pi,0.1)y=np.sin(x)plt.title("sine wave form")# 使用 matplotlib 来绘制点plt.plot(x,y)plt.show()

执行输出结果如下图:

subplot()

subplot() 函数允许你在同一图中绘制不同的东西。

以下实例绘制正弦和余弦值:

实例

importnumpyasnpimportmatplotlib.pyplotasplt# 计算正弦和余弦曲线上的点的 x 和 y 坐标x=np.arange(0,3*np.pi,0.1)y_sin=np.sin(x)y_cos=np.cos(x)# 建立 subplot 网格,高为 2,宽为 1# 激活第一个 subplotplt.subplot(2,1,1)# 绘制第一个图像plt.plot(x,y_sin)plt.title('Sine')# 将第二个 subplot 激活,并绘制第二个图像plt.subplot(2,1,2)plt.plot(x,y_cos)plt.title('Cosine')# 展示图像plt.show()

执行输出结果如下图:

bar()

pyplot 子模块提供 bar() 函数来生成条形图。

以下实例生成两组 x 和 y 数组的条形图。

实例

frommatplotlibimportpyplotaspltx=[5,8,10]y=[12,16,6]x2=[6,9,11]y2=[6,15,7]plt.bar(x,y,align='center')plt.bar(x2,y2,color='g',align='center')plt.title('Bar graph')plt.ylabel('Y axis')plt.xlabel('X axis')plt.show()

执行输出结果如下图:

numpy.histogram()

numpy.histogram() 函数是数据的频率分布的图形表示。 水平尺寸相等的矩形对应于类间隔,称为 bin,变量 height 对应于频率。

numpy.histogram()函数将输入数组和 bin 作为两个参数。 bin 数组中的连续元素用作每个 bin 的边界。

实例

importnumpyasnpa=np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])np.histogram(a,bins=[0,20,40,60,80,100])hist,bins=np.histogram(a,bins=[0,20,40,60,80,100])print(hist)print(bins)

输出结果为:

[3 4 5 2 1]

[ 0 20 40 60 80 100]

plt()

Matplotlib 可以将直方图的数字表示转换为图形。 pyplot 子模块的 plt() 函数将包含数据和 bin 数组的数组作为参数,并转换为直方图。

实例

frommatplotlibimportpyplotaspltimportnumpyasnpa=np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])plt.hist(a,bins=[0,20,40,60,80,100])plt.title("histogram")plt.show()

执行输出结果如下图:

python菜鸟教程官网绘图-NumPy Matplotlib相关推荐

  1. python菜鸟教程官网绘图-Python Tkinter 画布(Canvas)

    Python Tkinter 画布(Canvas) Python Tkinter 画布(Canvas)组件和 html5 中的画布一样,都是用来绘图的.您可以将图形,文本,小部件或框架放置在画布上. ...

  2. python菜鸟教程官网pandas,python菜鸟教程官网numpy

    求比较好的Python练习网站 适合 Python 入门学习的5个网站1. Python官方网站最权威的 Python 教程.2. 菜鸟教程 Python 教程基本入门级教程,还有一些简单的进阶教程. ...

  3. python菜鸟教程100实例-python菜鸟教程官网

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 之后的某节会讲到如何给mac中的python安装其他模块,比如比较常用的numpy ...

  4. 超级简单的Python爬虫教程,python爬虫菜鸟教程官网

    毫无基础的人如何入门 Python ? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编 ...

  5. python 菜鸟-python菜鸟教程

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 除了常见的循环控制语句,python 中还有if,if else和if ...

  6. MobaXterm 详细安装使用教程 官网

    MobaXterm 详细安装使用教程 官网 MobaXterm 详细安装教程 官网 详细安装教程 1.下载 MobaXterm 访问 https://mobaxterm.mobatek.net/dow ...

  7. python菜鸟教程100实例-运维人员学习python菜鸟教程

    这篇文章主要为大家详细介绍了运维人员学习python菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 从不会写代 ...

  8. python numpy官网_Python Numpy 教程(上)

    ------------------------------------------------------------------------------------------------ 该教程 ...

  9. 新学Python之学习官网教程序言

      大家好,我是 herosunly.985 院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用.曾获得阿里云天池安全恶意程序检测第一名,科大讯飞恶意软件分类挑战赛第三名,CCF 恶意软 ...

最新文章

  1. 【linux】串口编程(三)——错误处理
  2. apache tomcat部署web应用的三种实现方式
  3. java jediscluster_方便jediscluster操作的工具类
  4. 交通银行签约第四范式,建设全行级统一AI能力平台
  5. C++ Bayes‘ theorem贝叶斯定理的实现算法(附完整源码)
  6. leetcode-125-Valid Palindrome
  7. 各种环境下的渗透测试
  8. 评论:电商巨头们谁有勇气晒晒“价格战”账单?
  9. Maven的学习资料收集--(九) 构建SSH项目以及专栏maven
  10. 得推B2B2C商城源码v4.1
  11. oracle事务默认自动提交吗_干货|事务
  12. 南阳市服务器主机销售,南阳市服务器价格
  13. 密码学中PBC库的使用
  14. Java程序连接数据库
  15. Google式用户体验的十大内在原则
  16. 数字化施工管理太玄乎?“要点+案例”让你一看就懂
  17. linux系统 安装主板驱动,I810 Graphics LINUX Driver的安装
  18. 电脑浏览器打不开html文档,电脑浏览器打不开本地html文件
  19. Tomcat安装配置及CATALINA_HOME environment variable is not defined correctly问题的解决
  20. Lecture 8:Norms of Vectors and Matrices

热门文章

  1. 记一次EventBus内存泄露导致的项目问题
  2. 木马——本质就是cs socket远程控制,反弹木马是作为c端向外发起网络请求
  3. npm未能加载Visual C++组件,解决办法win10
  4. 关于Eclispse连接Mysql的Jdbc
  5. 巧用watch命令执行循环操作,来解放我们的双手
  6. 宝塔中mysql数据库命名小坑
  7. ASP.NET Web API
  8. 【笨嘴拙舌WINDOWS】字符类型与字符串
  9. jni头文件自动生成
  10. 【转载】:C# string 特殊的引用类型