import matplotlib.pyplot as plt
data = np.random.standard_normal((150, 2))
plt.scatter(data[:,0],data[:,1],c=‘y’)
plt.grid(True, lw=.5, ls=‘–’, c=‘c’)
plt.show()
Tips:添加辅助网格只需调用以True为参数的plt.grid()函数,网格由线条组成,因此plt.grid()可以接受线条样式参数(如linewidth、linestyle以及color等)来修改辅助网络中的线条。
由于Matplotlib生成的所有图形都由基本原语组成,因此我们可以使用一个基本的原语:lines来添加辅助线。
import matplotlib.pyplot as plt
N = 16
for i in range(N):
plt.gca().add_line(plt.Line2D((0, i), (N - i, 0), color = ‘m’))
plt.axis(‘tight’)
plt.show()
plt.Line2D()函数的作用是:创建一个新的Line2D对象,必要参数是线段的两个端点,可选参数包括所有介绍过的线条样式参数(如linewidth、linestyle以及color等),创建线段完成后,并不会显示该直线,若需要显示此对象需要使用plt.gca()。plt.gca()函数的作用是返回负责跟踪渲染内容的对象。调用plt.gca().add_line()就可以渲染创建的Line2Dd对象。使用plt.axis()函数可以修改图形比例,如不添加此函数的调用将导致绘制图形不能完整显示。
我们已经学习了使用lines原语制作线条,但是在实际中,我们可能需要更多的形状,使用其他形状的方式与lines原语的相同。
import matplotlib.patches as patches
import matplotlib.pyplot as plt
圆形
shape = patches.Circle((0, 0), radius = 1., color = ‘m’)
plt.gca().add_patch(shape)
四边形
shape = patches.Rectangle((2.5, -.5), 2., 1., color = ‘c’)
plt.gca().add_patch(shape)
椭圆形
shape = patches.Ellipse((0, -2.), 2., 1., angle = 45., color = ‘y’)
plt.gca().add_patch(shape)
花状框
shape = patches.FancyBboxPatch((2.5, -2.5), 2., 1., boxstyle = ‘sawtooth’, color = ‘b’)
plt.gca().add_patch(shape)
显示
plt.grid(True, alpha=0.3)
plt.axis(‘scaled’)
plt.show()
Tips:与使用lines原语一样,使用Matplotlib其它形状原语进行操作时,必须使用pyplot.axis()函数修改图形比例,否则将导致绘制图形不能完整显示。
无论显示哪种形状,其原理都是一样的。在Matplotlib中,形状被描述为名为patch的路径。matplotlib.patches模块中提供了几种形状的路径。与线端一样,仅创建路径并不会在屏幕上渲染它,必须明确使用渲染函数plt.gca()
。
matplotlib.patches模块包含很多路径构造类,常用的主要包括:
| 路径构造类名 | 描述 |
| — | — |
| Circle | 需要圆心坐标和半径作为参数 |
| Rectangle | 需要四边形左下角的坐标和边长作为参数 |
| Ellipse | 需要椭圆中心坐标和两轴半长作为参数 |
| FancyBox | 这类似于花形框,需要可选参数boxstyle指定样式,可选值包括:“larrow”、“rarrow”、“round”、“round4”、“roundtooth”、"sawtooth"以及"square"等) |
除了预定义的形状外,我们还可以使用多边形定义任意形状。
使用多边形
多边形的使用方法与上一部分中路径的使用方法类似:
import numpy as np
import matplotlib.patches as patches
import matplotlib.pyplot as plt
theta = np.linspace(0, 2 * np.pi, 8)
points = np.vstack((np.cos(theta), np.sin(theta))).transpose()
plt.gca().add_patch(patches.Polygon(points, color = ‘m’))
plt.grid(True)
plt.axis(‘scaled’)
plt.show()
Tips:matplotlib.patches.Polygon()构造函数接受多边形顶点的坐标列表作为输入参数值。
使用路径属性
所有的路径都可以使用线条及填充的属性:包括linewidth、linestyle、edgecolor、facecolor、hatch等:
import numpy as np
import matplotlib.patches as patches
import matplotlib.pyplot as plt
theta = np.linspace(0, 2 * np.pi, 8)
points = np.vstack((np.cos(theta), np.sin(theta))).transpose()
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。