Python竟然可以画漫画!漫画版的故宫导游图,来袭!

菜鸟学Python 2021-11-25 12:13:52
Python 漫画 竟然 漫画版

bea6f0e6d803bf2814f93d79a0258dbd.png

随着Python编程的应用领域越来越广,从数据分析到人工智能、从机器学习到深度学习、从数据可视化到分析报告,越来领域开始使用Python。

而漫画领域也开始涉及Python,兰道尔·门罗(网名xkcd)创作了一系列关于“浪漫、讽刺、数学和语言的网络漫画”,被网友誉为深度宅向网络漫画,而Matplotlib库也引入了XKCD风格的图表。下面就结合xkcd和prettymaps库绘制一幅漫画风格的“故宫旅游导图”。

6e435828bafeb37803a1d4f09e4396a2.png

一、准备工作

(1)运行环境:Python 3.9.7,Anaconda下的Jupyter Notebook。

(2)用到的相关资源:

Matplotlib库:用于绘制XKCD漫画风格图表。

Prettymaps库:用户绘制海报风格地图。关于这个库的安装,过程相对繁琐,可能需要您多点耐心去解决。

此外,还用到了中文卡通字体(FZKaTong-M19S.ttf),这可能需要您去下载安装。

二、开始上天

1、xkcd漫画风格图

613c823bb659db85a32d363f7b3ff67a.png

这里主要通过Matplotlib库提供了XKCD漫画风格的图表,绘制相关折线图。

e087167d21430aaff019d7d2d777e179.png

本段代码主要通过plt.xkcd()语句,实现了将一般图表更换为漫画风格图表,结果如图所示。

2540ccedd69f8dd360e606ec47f76235.png

而xkcd网站(https://xkcd.com/418/)的图表如下图所示,两者的结果还是比较相似的。

0e678a5bf687d36a6565048b9467416a.png

xkcd网站其他图表如下图所示:

77c6c3b3a3e9c0f21596bf4f9f1660d1.png

三、绘制海报地图

这里主要通过prettymaps库绘制了北京故宫的海报风格地图。

394e3494db403df87e5ad95f98f85b30.png

关于prettymaps库的使用,可以参考GitHub上的相关资源(https://hub.fastgit.org/marceloprates/prettymaps),读者可以将相应的坐标改为自己感兴趣的位置,进行其它位置地图创作,本文的结果如下图所示。

d064a2784cb72b02afb484a22043a82b.png

四、构图

我们先用matplotlib按照坐标进行构图,主要是调用subplot2grid函数。

e7f54521d9ae697dfcdfd0c3185d6056.png

这里,将一幅画布分成了8行10列的画格,各子图的分布如下图所示。

5e05b3baa9779cc809f48737041f62cf.png

五、绘制漫画风格大图

这里的目的是为了绘制一副包含“未来气温、景区热度、景区简介、国外游客分布”等几块内容的大图。

fe28f92b30f64571c4297263c8773a18.png

1dd152b51c4a7720e5c7bd807f14f4f1.png

bb840726b106adb98dd779a4af774786.png

在画布构图完成后,将相应的区域画上不同的子图,最终结果如图所示:

fb5b8a11e1d4bf2c2ab29aca4dba5d88.png

Python真的是越来越厉害了,除了我们经常玩的数据分析,爬虫,web开发,自动化测试和自动化运维,机器学习。现在竟然还可以画漫画,不过需要对Prettymaps库比较了解。好了,有兴趣的同学可以动手试一下,画一个你喜欢的风格的漫画海报吧。

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点击阅读原文,教你搭建博客!

版权声明
本文为[菜鸟学Python]所创,转载请带上原文链接,感谢
https://blog.csdn.net/cainiao_python/article/details/121528564

  1. Utilisez Python pour proposer l'année de la colonne de date dans les deux CSV, faire une nouvelle colonne, puis combiner les deux tableaux CSV en un seul tableau avec la colonne de date et le numéro d'identification.
  2. 关于#python#的问题,请各位专家解答!
  3. ***
  4. ***
  5. 關於#python#的問題,請各比特專家解答!
  6. S'il vous plaît répondre aux questions de Python!
  7. About the import of Python class
  8. Magic Python property decorator: 1 line of code makes Python methods become properties in seconds
  9. Python 音频调整音量(附代码) | Python工具
  10. Python programming ideas [series of articles]
  11. Python crawler programming idea (67): modify nodes using pyquery
  12. Python crawler programming idea (66): using pyquery to obtain node information
  13. Python crawler programming idea (65): find nodes using pyquery
  14. Python crawler programming idea (64): using CSS selectors in pyquery
  15. Python crawler programming idea (63): basic knowledge of pyquery
  16. Python crawler programming idea (62): project practice: capturing cool dog online red song list
  17. Python crawler programming idea (61): project practice: capturing rental information
  18. Python crawler programming idea (60): get CSS selector code through browser
  19. Python爬虫编程思想(85):在Python中使用非关系型数据库
  20. Volume de réglage audio Python (avec Code) | outils Python
  21. Python crawler programming idea (59): get attribute value and text with beautiful soup CSS selector
  22. Python crawler programming idea (58): nested selection nodes with beautiful soup CSS selectors
  23. Python crawler programming idea (57): basic usage of CSS selector in beautiful soup
  24. Python crawler programming idea (56): find method of beautiful soup method selector
  25. Python crawler programming idea (55): find of beautiful soup method selector_ All method
  26. Python crawler programming idea (54): use beautiful soup to select sibling nodes
  27. Python crawler programming idea (53): use beautiful soup to select the parent node
  28. Django3.0 solves the problem of error reporting in reverse parsing
  29. Precautions for Python crawler
  30. Python 3 crawler series (1) -- climbing blind date websites
  31. Python到底是什么?为什么要学Python?
  32. #yyds干货盘点#Pandas数据清洗实用指南
  33. Python打包exe文件无法运行
  34. Two common ways to save files in Python
  35. #yyds幹貨盤點#Pandas數據清洗實用指南
  36. Yyds Dry Inventory pandas Data Cleaning Practical Guide
  37. PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据
  38. Python集成学习:自己编写构建AdaBoost分类模型可视化决策边界及sklearn包调用比较
  39. Python 3 makes a search software
  40. Python 3 simulated microblog login
  41. Using Python 3 to make practical software for drawing modification
  42. About HTML (acceptable to Python)
  43. Python集成學習:自己編寫構建AdaBoost分類模型可視化决策邊界及sklearn包調用比較
  44. PYTHON用LSTM長短期記憶神經網絡的參數優化方法預測時間序列洗發水銷售數據
  45. Python Integrated Learning: Writing and Constructing adaboost Classification Model Visualized decision Boundary and sklearn package Calling Comparison
  46. Python prédit les données de vente de shampooing de séries chronologiques en utilisant la méthode d'optimisation des paramètres du réseau neuronal de mémoire à court et à long terme lstm
  47. [zero basics of Python to introduction] a prerequisite for Python preparatory knowledge -- basic coding specification of Python
  48. OpenCV对比度亮度变换竟能用来去水印(附Python/C++源码)
  49. [zero basics of Python to getting started] a prerequisite for Python preparatory knowledge -- installing the visualization tool pycharm
  50. The test modifies main.py in micro python
  51. Microphoton experimental circuit board based on mm32f3273 - does not work normally
  52. Run micropathon on mm32f3273 to test performance
  53. Design mm32f3277 micro Python experimental board with SD card
  54. Mm32f3277 corresponding interface files during microphoton migration
  55. Mm32f3277 microphoton experimental board design and software testing
  56. Making and testing mm32f3277 microphoton minimum circuit board
  57. Download mm32-link program automatically with Python simulated mouse
  58. A curriculum of "artificial intelligence Python machine learning and deep learning"
  59. Test the basic functions of mm32 microphoton test circuit board
  60. Test the basic functions of the mm32f3277 micro Python development board flying one by one