基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解

yipeiwu_com7年前Python基础

Pyplot

matplotlib.pyplot是一个命令型函数集合,它可以让我们像使用MATLAB一样使用matplotlib。pyplot中的每一个函数都会对画布图像作出相应的改变,如创建画布、在画布中创建一个绘图区、在绘图区上画几条线、给图像添加文字说明等。下面我们就通过实例代码来领略一下他的魅力。

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()

上图是我们通过plt.plot([1,2,3,4])这一行代码画出的图像,这时候有的小伙伴可能会有一个疑问,“为什么X轴的坐标轴范围是0-3,而Y轴的坐标轴围是1-4呢?”

这是因为,在我们使用plot()命令函数的时候,如果只给函数传递了一个数值列表或数组作为参数,matplotlib会把这个数值列表当作Y轴的数值,然后根据Y轴的数值个数N自动生成一个数值列表[0,N-1]作为X轴的数值。所以上图中Y轴数值就是我们给定的列表[1,2,3,4],X轴数值是自动生成的列表[0,1,2,3]。

看到这里有的小伙伴可能会想,这也太弱了吧。大家不要着急,我们一步步的来学习,上图只是一个非常简单例子,其实plot() 命令的功能非常强大,通过该命令我们可以同时传递多个图像参数。比如说,我们想同时给定X轴和Y轴的数值,我们就可以通过下面一行代码实现:

plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) #X:[1, 2, 3, 4],Y:[1, 4, 9, 16]

此外,我们还可以像MATLAB一样在每一组X轴和Y轴数值的后面传递一个形式为“颜色+线型”的字符串参数,这个参数可以设置我们图像中的线的颜色和类型,默认的参数为'b-',代表蓝色实线。

命令支持的颜色字符有:

'b':蓝色
'g':绿色
'r':红色
'c':青色
'm':洋红色
'y':黄色
'k':黑色
'w':白色

命令支持的线型字符:

所以,当我们想要用红色圆点展示上面代码中的数据时,我们可以通过下面的代码实现:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.axis([0, 6, 0, 20])
plt.show()

当我们有多组数据时,我们可在每组后面分别设置线型及颜色:

import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0., 5., 0.2)
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()

以上这篇基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现网络端口转发和重定向的方法

本文实例讲述了Python实现网络端口转发和重定向的方法。分享给大家供大家参考,具体如下: 【任务】 需要将某个网络端口转发到另一个主机(forwarding),但可能会是不同的端口(r...

Python 性能优化技巧总结

1.使用测量工具,量化性能才能改进性能,常用的timeit和memory_profiler,此外还有profile、cProfile、hotshot等,memory_profiler用了...

如何解决django-celery启动后迅速关闭

日志中也没有打印什么明显的错误,只是显示连接了rabbitmq后就关闭了 [2019-09-11 06:08:45,729: INFO/Beat] beat: Starting......

解决pycharm 工具栏Tool中找不到Run manager.py Task的问题

解决pycharm 工具栏Tool中找不到Run manager.py Task的问题

在做Django项目的过程中, 无法进入pycharm提供的Run manager.py Task交互环境 出现这种问题是因为Pycharm无法识别这个项目是django项目.需要进行配...

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法

1:listWidget 以滚动窗口显示文件下的所有文件: self.listWidget = QtWidgets.QListWidget(self.gridLayout...