Matplotlib 绘图
一 简介:
Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。 Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包
Matplotlib试图让简单的事情变得更简单,让无法实现的事情变得可能实现。 只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等。 有关示例,请参阅示例图和缩略图库。
为了简单绘图,pyplot模块提供了类似于MATLAB的界面,特别是与IPython结合使用时。 对于高级用户,您可以通过面向对象的界面或MATLAB用户熟悉的一组函数完全控制线条样式,字体属性,轴属性等。
官网教程文档:https://matplotlib.org/users/index.html
二绘制简单的折线图
import matplotlib.pyplot as plt input_values=[1,2,3,4,5] squares = [1,4,9,16,25] plt.plot(input_values,squares,linewidth=5) plt.title("Square Numbers",fontsize=24) plt.xlabel("Value",fontsize=14) plt.ylabel("Square of Value",fontsize=14) plt.tick_params(axis='both',labelsize=14) plt.show()
运行图像:
使用scatter() 绘制散点图并设置其样式
import matplotlib.pyplot as plt plt.scatter(2,4,s=200) plt.title("Square Numbers", fontsize=24) plt.xlabel("Value",fontsize = 14) plt.ylabel("Square of Value",fontsize=14) plt.tick_params(axis='both',which='major',labelsize=14) plt.show()
显示图像
使用scatter() 绘制一系列的点
import matplotlib.pyplot as plt x_values=[1,2,3,4,5] y_values=[1,4,9,16,25] plt.scatter(x_values,y_values,s=200) plt.title("Square Numbers", fontsize=24) plt.xlabel("Value",fontsize = 14) plt.ylabel("Square of Value",fontsize=14) plt.tick_params(axis='both',which='major',labelsize=14) plt.show()
图像呈现:
自动计算数据
import matplotlib.pyplot as plt x_values=list(range(1,10001)) y_values=[x**2 for x in x_values] plt.scatter(x_values,y_values,s=40) plt.title("Square Numbers", fontsize=24) plt.xlabel("Value",fontsize = 14) plt.ylabel("Square of Value",fontsize=14) plt.tick_params(axis='both',which='major',labelsize=14) plt.axis([0,1100,0,1100000]) plt.show()
图像显示:
默认师蓝色的线条和黑色的轮廓,修改颜色为红色:
plt.scatter(x_values,y_values,c='red',edgecolor='none',s=40)
也可以用RGB颜色,由浅蓝色组成:
plt.scatter(x_values,y_values,c=(0,0,0.8),edgecolor='none',s=40)
值越接近0,指定的颜色越深,值越接近1,指定颜色越浅
还可以使用颜色映射
颜色映射是一系列颜色,它们从起始颜色渐变成结束颜色。在可视化中,颜色映射用于突出数据的规律。
import matplotlib.pyplot as plt x_values=list(range(1,10001)) y_values=[x**2 for x in x_values] plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,edgecolor='none',s=40) plt.title("Square Numbers", fontsize=24) plt.xlabel("Value",fontsize = 14) plt.ylabel("Square of Value",fontsize=14) plt.tick_params(axis='both',which='major',labelsize=14) plt.axis([0,1100,0,1100000]) plt.show()
图像显示:
保存图表
要让程序自动将图表保存到文件中,可将对plt.show()的调用替换为plt.savefig()
plt.savefig('squares_plog.png',bbox_inches='tight')
会在目录下生成:squares_plog.png文件