iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python matplotlib绘制xkcd动漫风格的图表
  • 427
分享到

如何使用Python matplotlib绘制xkcd动漫风格的图表

2023-06-29 10:06:15 427人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍如何使用python matplotlib绘制xkcd动漫风格的图表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!XKCDxkcd是兰道尔·门罗(Randall Mun

这篇文章主要介绍如何使用python matplotlib绘制xkcd动漫风格的图表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

XKCD

xkcd是兰道尔·门罗(Randall Munroe)的网名,又是他所创作的漫画的名称。作者兰道尔·门罗(Randall Munroe)给作品的定义是一部“关于浪漫、讽刺、数学和语言的网络漫画”(A WEBcomic of romance,sarcasm, math, and language),被网友誉为深度宅向网络漫画。XKCD官方网站https://xkcd.com/。

如何使用Python matplotlib绘制xkcd动漫风格的图表

matplotlib对XKCD风格的支持

matplotlib.pyplot.xkcd函数可绘制XKCD风格的图表。

原理非常简单,调用函数时保存原有rcParams设置,再更新rcParams使预置的XKCD风格的生效,退出时还原rcParams设置。
xkcd相关定义如下:

def xkcd(scale=1, length=100, randomness=2):    return _xkcd(scale, length, randomness)class _xkcd:    # This cannot be implemented in terms of rc_context() because this needs to    # work as a non-contextmanager too.    def __init__(self, scale, length, randomness):        self._orig = rcParams.copy()        if rcParams['text.usetex']:            raise RuntimeError(                "xkcd mode is not compatible with text.usetex = True")        from matplotlib import patheffects        rcParams.update({            'font.family': ['xkcd', 'xkcd Script', 'Humor Sans', 'Comic Neue',                            'Comic Sans MS'],            'font.size': 14.0,            'path.sketch': (scale, length, randomness),            'path.effects': [                patheffects.withStroke(linewidth=4, foreground="w")],            'axes.linewidth': 1.5,            'lines.linewidth': 2.0,            'figure.facecolor': 'white',            'grid.linewidth': 0.0,            'axes.grid': False,            'axes.unicode_minus': False,            'axes.edgecolor': 'black',            'xtick.major.size': 8,            'xtick.major.width': 3,            'ytick.major.size': 8,            'ytick.major.width': 3,        })    def __enter__(self):        return self    def __exit__(self, *args):        dict.update(rcParams, self._orig)

创建XKCD风格的图表

官方建议使用上下文管理器调用xkcd函数。

import matplotlib.pyplot as pltwith plt.xkcd():    plt.bar([1,2,3],[1,2,3])    plt.title('test')plt.show()

如何使用Python matplotlib绘制xkcd动漫风格的图表

使用中文字体创建XKCD风格的图表

官方文档建议下载Humor Sans字体,根据源码可知,'font.family': ['xkcd', 'xkcd Script', 'Humor Sans', 'Comic Neue', 'Comic Sans MS'],只要计算机上安装这几个字体,英文都可以显示为XKCD风格,现在windows操作系统中基本都预装有Comic Sans MS字体,因此,不用下载字体即可显示英文。

xkcd默认配置的几个字体都不支持中文,如果像在XKCD风格图表中使用类似漫画风格的中文就需要下载中文字体,一般大家都推荐试用方正卡通简体字体。下载安装该字体后,只用重载字体缓存,修改rcParams['font.family']使中文字体生效即可。

1.安装字体

下载方正卡通简体字体,并进行安装。

2.更新中文字体

获取方正卡通简体字体的系统名称

方正卡通简体字体在系统中的名称为FZKaTong-M19S。

设置方正卡通简体字体为中文默认字体

import matplotlib.pyplot as pltplt.xkcd()plt.rcParams.update({'font.family': "FZKaTong-M19S"})plt.bar([1,2,3],[1,2,3])plt.title("测试")plt.show()

运行后,标题中文不能正常显示,调试信息显示找不到'FZKaTong-M19S',所以使用默认的DejaVu Sans的字体。

findfont: Font family ['FZKaTong-M19S'] not found. Falling back to DejaVu Sans.

通过以下代码验证,可知'FZKaTong-M19S'即方正卡通简体字体没有出现在ttflist当中,所以找不到该字体。而ttflist是读取字体缓存而构建的,因此,重建字体缓存可能解决这个问题。

from matplotlib.font_manager import fontManagerprint([i.name for i in fontManager.ttflist if 'FZKaTong-M19S' in i.name])

解决问题

默认findfont函数是从字体缓存中查找的,新安装的字体缓存中没有,因此,需要重新创建缓存,并加载。

# 重建字体缓存from matplotlib.font_manager import _rebuild_rebuild()
import matplotlib.pyplot as pltplt.xkcd()plt.rcParams.update({'font.family': "FZKaTong-M19S"})# plt.rcParams['font.family'] ='FZKaTong-M19S'# plt.rc('font', **{'family' : 'FZKaTong-M19S'})plt.bar([1,2,3],[1,2,3])plt.title("测试")plt.show()

如何使用Python matplotlib绘制xkcd动漫风格的图表

以上是“如何使用Python matplotlib绘制xkcd动漫风格的图表”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网Python频道!

--结束END--

本文标题: 如何使用Python matplotlib绘制xkcd动漫风格的图表

本文链接: https://www.lsjlt.com/news/324231.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Python matplotlib绘制xkcd动漫风格的图表
    这篇文章主要介绍如何使用Python matplotlib绘制xkcd动漫风格的图表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!XKCDxkcd是兰道尔·门罗(Randall Mun...
    99+
    2023-06-29
  • Pythonmatplotlib绘制xkcd动漫风格的图表
    目录XKCDmatplotlib对XKCD风格的支持创建XKCD风格的图表使用中文字体创建XKCD风格的图表1.安装字体2.更新中文字体XKCD xkcd是兰道尔·门罗...
    99+
    2022-11-13
  • 如何利用Python matplotlib绘制风能玫瑰图
    这篇文章主要介绍如何利用Python matplotlib绘制风能玫瑰图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述在之前的风资源分析文章中,有提到过用widrose包来进行玫瑰图的绘制,目前的可视化绘图包有很...
    99+
    2023-06-14
  • 如何使用Python将图片转为漫画风格
    本篇内容主要讲解“如何使用Python将图片转为漫画风格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Python将图片转为漫画风格”吧!安装OpenCV首先,我们需要安装OpenCV。...
    99+
    2023-07-06
  • 如何利用python库matplotlib绘制不同的图表
    这篇文章主要介绍如何利用python库matplotlib绘制不同的图表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、绘制简单曲线图思路:通过3个坐标点,绘制曲线import matplotlib.py...
    99+
    2023-06-29
  • 如何使用python的matplotlib绘制折线图
    这篇文章主要介绍“如何使用python的matplotlib绘制折线图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用python的matplotlib绘制折线图”文章能帮助大家解决问题。pl...
    99+
    2023-07-02
  • 如何使用Python Matplotlib绘制条形图
    目录前言一、一般条形图二、横向条形图三、分组条形图的绘制四、堆叠条形图绘制总结 前言 matplotlib是一个非常强大的Python第三方绘图包,可以绘制非常多非常漂亮的...
    99+
    2022-11-11
  • 如何使用python matplotlib绘制散点图
    今天小编给大家分享一下如何使用python matplotlib绘制散点图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-07-02
  • Python如何使用Matplotlib绘制甘特图
    小编给大家分享一下Python如何使用Matplotlib绘制甘特图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.引言甘特图已经拥有 100 多年的历史,这种可视化图表对项目管理非常有用。Henry Gantt 为了分...
    99+
    2023-06-22
  • Python matplotlib如何简单绘制不同类型的表格
    目录载入库一、折线图 二、散点图三、条形图四、柱状图  五、饼状图六、直方图 七、箱线图 last but not list、如何给...
    99+
    2022-11-11
  • Python中如何使用Matplotlib库绘制图形
    目录前言一、简单的正弦函数与余弦函数二、进阶版正弦函数与余弦函数1.改变颜色与粗细2.设置图片边界3.设置记号4.设置记号的标签5.设置X,Y轴6.完整代码三、绘制简单的折线图总结前...
    99+
    2022-11-11
  • 如何用Python绘制动态可视化图表
    本篇内容主要讲解“如何用Python绘制动态可视化图表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Python绘制动态可视化图表”吧!安装模块如果你还没安装 Plotly,只需在你的终端...
    99+
    2023-06-30
  • 如何用Python绘制可视化动态图表
    这篇文章主要介绍“如何用Python绘制可视化动态图表”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用Python绘制可视化动态图表”文章能帮助大家解决问题。对数据科学家来说,讲故事是一个至关重...
    99+
    2023-06-30
  • 如何使用Canvas中的手绘风格图形库Rough.js
    这篇文章将为大家详细讲解有关如何使用Canvas中的手绘风格图形库Rough.js,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Rough.jsRough.js是一个轻量的(大约8k),基于Canvas的...
    99+
    2023-06-09
  • Python如何使用pyecharts控件绘制图表
    这篇文章主要介绍“Python如何使用pyecharts控件绘制图表”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何使用pyecharts控件绘制图表”文章能帮助大家解决问题。一、Ec...
    99+
    2023-06-30
  • 如何利用 Python 绘制动态可视化图表
    目录一、安装相关的模块二、gif和matplotlib的结合三、gif和plotly的结合四、matplotlib多子图动态可视化五、动态气泡图一、安装相关的模块 首先第一步的话我们...
    99+
    2022-11-13
  • Python如何利用D3Blocks绘制可动态交互的图表
    本篇内容主要讲解“Python如何利用D3Blocks绘制可动态交互的图表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何利用D3Blocks绘制可动态交互的图表”吧!热力图热力图...
    99+
    2023-07-05
  • 用python如何绘制表格不同颜色的excel
    目录需求:先实现个差不多的需求代码:总结需求: 需求简单:但是感觉最后那部分遍历有意思:S型数组赋值,考虑到下标,简单题 先实现个差不多的 m = 5 cols = 9 row...
    99+
    2022-11-12
  • 如何使用Python中的matplotlib库制作动画
    这篇文章主要介绍了如何使用Python中的matplotlib库制作动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。matplotlib制作简单的动画动画即是在一段时间内快...
    99+
    2023-06-15
  • 如何使用Python绘制简单的折线图
    这篇文章主要讲解了“如何使用Python绘制简单的折线图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Python绘制简单的折线图”吧!创建RandomWalk类为模拟随机漫步,我们...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作