很多同学做数学建模都用过matlab,相信都用过matlab的强大可视化功能,非常方便。其实如果采用python语言实现也能实现和matlab一样的可视化效果,而且是免费使用。其中一个有名的可视化库叫Matplotlib(当然还有很多可视化库), 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案,有matlab的编程经验可以无缝使用matlpltlib,因为其相关函数的名字和用法都一样。
比如:
x = linspace(-4,4,200);
f1 = 10.^x;
f2 = exp(x);
f3 = 2.^x;
plot(x, f1, 'r', x, f2, 'b', x, f3, 'g', 'LineWidth', 2);
axis([-4, 4, -0.5, 8])
text('Interpreter','latex','String','$10^x$', 'Position', [1, 7.5],'fontsize', 16)
text('Interpreter','latex','String','$e^x$', 'Position', [2.2, 7.5],'fontsize', 16)
text('Interpreter','latex','String','$2^x$', 'Position', [3.2, 7.5],'fontsize', 16)
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-4, 4, 200)
f1 = np.power(10, x)
f2 = np.power(np.e, x)
f3 = np.power(2, x)
plt.plot(x, f1, 'r', x, f2, 'b', x, f3, 'g', linewidth = 2)
plt.axis([-4, 4, -0.5, 8])
plt.text(1, 7.5, r'$10^x$', fontsize = 16)
plt.text(2.2, 7.5, r'$e^x$', fontsize = 16)
plt.text(3.2, 7.5, r'$2^x$', fontsize = 16)
plt.show()
哪个是matlab,那个是python写的,是不是差不多?
matpltlib开源的作者John Hunter博士毕业于普林斯顿大学,是著名的计算机图形学专家和可视化专家。可惜他英年早逝,但是Matplotlib开源的事业还在被社区维护更新着,所以大家不用担心这个包会挂掉。截至April 08, 2020 ,matpltlib的最新版本为3.2.1,社区的存在延长了软件的生命周期,越来越多的公司在拥抱开源。
官方地址:https://matplotlib.org/
最后说一下,虽然图名为python数据科学速查表,但是不仅是做数据科学,科学计算中都普遍使用mapltlib做可视化。