首页 > 其他分享 >Matplotlib 中文用户指南 3.9 路径效果指南

Matplotlib 中文用户指南 3.9 路径效果指南

时间:2023-05-02 15:03:07浏览次数:44  
标签:指南 plt text 路径 Matplotlib matplotlib effects path 3.9


路径效果指南

原文:Path effects guide

译者:飞龙

协议:CC BY-NC-SA 4.0

Matplotlib 的patheffects模块提供了一些功能,用于将多个绘制层次应用到任何艺术家,并可以通过路径呈现。

可以对其应用路径效果的艺术家包括PatchLine2DCollection,甚至文本。 每个艺术家的路径效果都可以通过set_path_effects方法(set_path_effects)控制,它需要一个AbstractPathEffect的可迭代实例。

最简单的路径效果是普通效果,它简单地绘制艺术家,并没有任何效果:

import matplotlib.pyplot as plt
import matplotlib.patheffects as path_effects

fig = plt.figure(figsize=(5, 1.5))
text = fig.text(0.5, 0.5, 'Hello path effects world!\nThis is the normal '
                          'path effect.\nPretty dull, huh?',
                ha='center', va='center', size=20)
text.set_path_effects([path_effects.Normal()])
plt.show()

Matplotlib 中文用户指南 3.9 路径效果指南_用户界面

添加阴影

比正常效果更有趣的路径效果是阴影,我们可以应用于任何基于路径的艺术家。 SimplePatchShadowSimpleLineShadow类通过在基本艺术家下面绘制填充补丁或线条补丁来实现它:

import matplotlib.pyplot as plt
import matplotlib.patheffects as path_effects

text = plt.text(0.5, 0.5, 'Hello path effects world!',
                path_effects=[path_effects.withSimplePatchShadow()])

plt.plot([0, 3, 2, 5], linewidth=5, color='blue',
         path_effects=[path_effects.SimpleLineShadow(),
                       path_effects.Normal()])
plt.show()

Matplotlib 中文用户指南 3.9 路径效果指南_迭代_02

请注意本示例中设置路径效果的两种方法。 第一个使用with *类,来包含“正常”效果之后的所需功能,而后者明确定义要绘制的两个路径效果。

让艺术家脱颖而出

使艺术家在视觉上脱颖而出的一个好方法是,在实际艺术家下面以粗体颜色绘制轮廓。 Stroke路径效果使其相对简单:

import matplotlib.pyplot as plt
import matplotlib.patheffects as path_effects

fig = plt.figure(figsize=(7, 1))
text = fig.text(0.5, 0.5, 'This text stands out because of\n'
                          'its black border.', color='white',
                          ha='center', va='center', size=30)
text.set_path_effects([path_effects.Stroke(linewidth=3, foreground='black'),
                       path_effects.Normal()])
plt.show()

Matplotlib 中文用户指南 3.9 路径效果指南_用户界面_03

重要的是注意,这种效果能够工作,因为我们已经绘制两次文本路径:一次使用粗黑线,然后另一次使用原始文本路径在上面绘制。

您可能已经注意到,StrokeSimplePatchShadowSimpleLineShadow的关键字不是通常的Artist关键字(例如facecoloredgecolor等)。这是因为使用这些路径效果,我们操作了 matplotlib 的较低层。实际上,接受的关键字是用于matplotlib.backend_bases.GraphicsContextBase实例的关键字,它们为易于创建新的后端而设计,而不是用于其用户界面。

对路径效果艺术家的更大控制

如前所述,一些路径效果的操作级别低于大多数用户操作,这意味着设置关键字(如facecoloredgecolor)会导致AttributeError。幸运的是,有一个通用的PathPatchEffect路径效果,它创建一个具有原始路径的PathPatch类。此效果的关键字与PathPatch相同:

import matplotlib.pyplot as plt
import matplotlib.patheffects as path_effects

fig = plt.figure(figsize=(8, 1))
t = fig.text(0.02, 0.5, 'Hatch shadow', fontsize=75, weight=1000, va='center')
t.set_path_effects([path_effects.PathPatchEffect(offset=(4, -4), hatch='xxxx',
                                                  facecolor='gray'),
                    path_effects.PathPatchEffect(edgecolor='white', linewidth=1.1,
                                                 facecolor='black')])
plt.show()

Matplotlib 中文用户指南 3.9 路径效果指南_用户界面_04



标签:指南,plt,text,路径,Matplotlib,matplotlib,effects,path,3.9
From: https://blog.51cto.com/wizardforcel/6239964

相关文章

  • Matplotlib 中文用户指南 3.7 变换教程
    变换教程原文:TransformationsTutorial译者:飞龙协议:CCBY-NC-SA4.0像任何图形包一样,matplotlib建立在变换框架之上,以便在坐标系,用户数据坐标系,轴域坐标系,图形坐标系和显示坐标系之间轻易变换。在95%的绘图中,你不需要考虑这一点,因为它发生在背后,但随着你接近自定义图形生成的极......
  • wine使用指南
    注意,本文只讨论Linux,由于MacOS现已经不支持32位应用程序,这里不作介绍。wine主要是Linux的windows应用程序方案,也是目前计划最优先支持的操作系统。简介wine是一个可以在Linux、BSD等系统运行Windows应用程序的软件。本身不具备图形界面的功能,只能通过命令行运......
  • 万字知识长文:ChatGPT 从零完全上手实操指南
    ChatGPT的横空出世,让很多人焦虑不已,不过,你完全不需要为此焦虑,因为比AI更强大永远是驾驭AI为自己所用的人类。而且 GPT 远没有各大商家炒作的那么玄乎 ,它应用逻辑也非常简单。今天我就用一篇文章带你掌握GPT的用法,本文无废话,全程干货,全部都是实操,纯小白也能看懂。只要......
  • Vue.js 简介与入门指南
    Vue.js是一个轻量级的JavaScript框架,用于构建交互式的用户界面。Vue.js的核心是一个用于构建组件化应用的视图层库,它易于上手,且能够快速地构建出高效、灵活、易于维护的应用程序。Vue.js受到了许多开发者的欢迎,因为它允许使用简单的HTML模板来创建可重用的组件,这些组件可以......
  • 10分钟搞定!C++类中构造函数和析构函数的完全指南
    一、初步认识构造函数1.什么是构造函数?要了解构造函数就要先了解一下,类的6个默认成员函数,如下图:构造函数:构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有一个合适的初始值,并且在对象整个生命周期内只调用一次。通俗一点来......
  • 绘图库Matplotlib的一些使用总结
      Matplotlib是Python语言的绘图库,可视化一些实验输出用起来很方便。简单总结下使用时的一些要点。1、线条(1)线条颜色,可以用关键字参数color(或c)来设置可以用颜色全名或缩写,如‘green’,‘g’16进制,如0000FF(r,g,b)或(r,g,b,a)方式,其中r,g,b,a的取值在[0,1]之间......
  • Centos7 安装 python3.9
    今天差点把服务器搞砖了,3.6无法满足要求,3.7一直装不上。重装之前遇到这篇文章,搞定Centos7系统安装Python3.9图文教程......
  • Python MatplotlibDeprecationWarning Matplotlib 3.6 and will be removed two minor
    百度飞桨(PaddlePaddle)-数字识别在Pycharm中使用Matplotlib中的pyplot时,运行代码报错:MatplotlibDeprecationWarning:SupportforFigureCanvaseswithoutarequired_interactive_frameworkattributewasdeprecatedinMatplotlib3.6andwillberemovedtwominorreleases......
  • [练习记录] 《算法竞赛进阶指南》打卡活动
    89.a^b题目大意给\(a,b,p\)求\(a^b\modp\)。思路可以直接快速幂。当模数\(p\)为\(1\)的时候特判一下。代码lla,b,mod;llqpow(lla,llb){ llres=1; while(b){ if(b&1)res=res*a%mod; a=a*a%mod,b>>=1; } returnres;}in......
  • Jupyter Notebook 配置与使用指南
    1、“.py”和“.ipynb”文件通常,我们看到的用Python语言编写的源代码文件,其文件后缀是",py"或".ipynb"。其中".py"文件是标准的Python源代码文件,通常情况下,我们会使用".py"的python源代码文件。.ipynb(即ipythonnotebook缩写)是jupyter可识别的后缀,其用来数据分析和画图非常方便的......