海豚
本文例子主要展示了如何使用补丁、路径和转换类绘制和 *** 作给定的顶点和节点的形状。
测试可用。
import matplotlib.cm as cmimport matplotlib.pyplot as pltfrom matplotlib.patches import Circle,PathPatchfrom matplotlib.path import Pathfrom matplotlib.transforms import Affine2Dimport numpy as np# Fixing random state for reproducibilitynp.random.seed(19680801)r = np.random.rand(50)t = np.random.rand(50) * np.pi * 2.0x = r * np.cos(t)y = r * np.sin(t)fig,ax = plt.subplots(figsize=(6,6))circle = Circle((0,0),1,facecolor='none',edgecolor=(0,0.8,0.8),linewidth=3,Alpha=0.5)ax.add_patch(circle)im = plt.imshow(np.random.random((100,100)),origin='lower',cmap=cm.winter,interpolation='spline36',extent=([-1,-1,1]))im.set_clip_path(circle)plt.plot(x,y,'o',color=(0.9,0.9,1.0),Alpha=0.8)# Dolphin from OpenClipart library by Andy Fitzsimon# <cc:license rdf:about="http://web.resource.org/cc/PublicDomain"># <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/># <cc:permits rdf:resource="http://web.resource.org/cc/distribution"/># <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/># </cc:license>dolphin = """M -0.59739425,160.18173 C -0.62740401,160.18885 -0.57867129,160.11183-0.57867129,160.11183 C -0.57867129,160.11183 -0.5438361,159.89315-0.39514638,159.81496 C -0.24645668,159.73678 -0.18316813,159.71981-0.18316813,159.71981 C -0.18316813,159.71981 -0.10322971,159.58124-0.057804323,159.58725 C -0.029723983,159.58913 -0.061841603,159.60356-0.071265813,159.62815 C -0.080250183,159.65325 -0.082918513,159.70554-0.061841203,159.71248 C -0.040763903,159.7194 -0.0066711426,159.710910.077336307,159.73612 C 0.16879567,159.76377 0.28380306,159.864480.31516668,159.91533 C 0.3465303,159.96618 0.5011127,160.17710.5011127,160.1771 C 0.63668998,160.19238 0.67763022,160.312590.66556395,160.32668 C 0.65339985,160.34212 0.66350443,160.336420.64907098,160.33088 C 0.63463742,160.32533 0.61309688,160.2970.5789627,160.29339 C 0.54348657,160.28968 0.52329693,160.276740.50728856,160.27737 C 0.49060916,160.27795 0.48965803,160.315650.46114204,160.33673 C 0.43329696,160.35786 0.4570711,160.398710.43309565,160.40685 C 0.4105108,160.41442 0.39416631,160.330270.3954995,160.2935 C 0.39683269,160.25672 0.43807996,160.215220.44567915,160.19734 C 0.45327833,160.17946 0.27946869,159.9424-0.061852613,159.99845 C -0.083965233,160.0427 -0.26176109,160.06683-0.26176109,160.06683 C -0.30127962,160.07028 -0.21167141,160.09731-0.24649368,160.1011 C -0.32642366,160.11569 -0.34521187,160.06895-0.40622293,160.0819 C -0.467234,160.09485 -0.56738444,160.17461-0.59739425,160.18173"""vertices = []codes = []parts = dolphin.split()i = 0code_map = { 'M': (Path.MOVeto,1),'C': (Path.CURVE4,3),'L': (Path.liNeto,1)}while i < len(parts): code = parts[i] path_code,npoints = code_map[code] codes.extend([path_code] * npoints) vertices.extend([[float(x) for x in y.split(',')] for y in parts[i + 1:i + npoints + 1]]) i += npoints + 1vertices = np.array(vertices,float)vertices[:,1] -= 160dolphin_path = Path(vertices,codes)dolphin_patch = PathPatch(dolphin_path,facecolor=(0.6,0.6,0.6),edgecolor=(0.0,0.0,0.0))ax.add_patch(dolphin_patch)vertices = Affine2D().rotate_deg(60).transform(vertices)dolphin_path2 = Path(vertices,codes)dolphin_patch2 = PathPatch(dolphin_path2,facecolor=(0.5,0.5,0.5),0.0))ax.add_patch(dolphin_patch2)plt.show()
效果如下:
总结
以上就是本文关于python+matplotlib绘制简单的海豚(顶点和节点的 *** 作)的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
总结以上是内存溢出为你收集整理的python+matplotlib绘制简单的海豚(顶点和节点的 *** 作)全部内容,希望文章能够帮你解决python+matplotlib绘制简单的海豚(顶点和节点的 *** 作)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)