今天介绍一个手绘工具(matplotlib.pyplot.xkcd()),一行代码可将所有Matplotlib和Seaborn绘制的图形变为手绘风格。

matplotlib.pyplot.xkcd()简介

这个Matplotlib子函数特别简单,只有三个参数,别看参数少,但功能可不小

matplotlib.pyplot.xkcd(scale=1, #相对于不使用xkcd的风格图,褶皱的幅度length=100, #褶皱长度randomness=2#褶皱的随机性)

matplotlib.pyplot.xkcd()使用

如下,加with行代码即可,括号中参数按个人喜好决定是否设置~

with plt.xkcd(scale=1, length=100, randomness=2):
#with是临时使用一下,不影响其它图使用正常样式绘图代码。。。。。。plt.show()

matplotlib.pyplot.xkcd()使用实例

以下参考:Python可视化25|seaborn绘制矩阵图

#支持seaborn
import seaborn as sns
iris_sns = sns.load_dataset("iris")
with plt.xkcd():g = sns.pairplot(iris_sns,hue='species',  #按照三种花分类palette=['#dc2624', '#2b4750', '#45a0a2'])sns.set(style='whitegrid')g.fig.set_size_inches(12, 12)sns.set(style='whitegrid', font_scale=1.5)

以下参考:Python可视化29|matplotlib-饼图(pie)

import matplotlib.pyplot as plt
with plt.xkcd(scale=4,  #相对于不使用xkcd的风格图,褶皱的幅度length=120,  #褶皱长度randomness=2):  #褶皱的随机性plt.figure(dpi=150)patches, texts, autotexts = plt.pie(x=[1, 2, 3],  #返回三个对象labels=['A', 'B', 'C'],colors=['#dc2624', '#2b4750', '#45a0a2'],autopct='%.2f%%',explode=(0.1, 0, 0))texts[1].set_size('20')  #修改B的大小#matplotlib.patches.Wedgepatches[0].set_alpha(0.3)  #A组分设置透明度patches[2].set_hatch('|')  #C组分添加网格线patches[1].set_hatch('x')plt.legend(patches,['A', 'B', 'C'],  #添加图例title="Pie Learning",loc="center left",fontsize=15,bbox_to_anchor=(1, 0, 0.5, 1))plt.title('Lovely pie', size=20)plt.show()

with plt.xkcd():from string import ascii_lettersplt.figure(dpi=150)patches, texts, autotexts = plt.pie(x=range(1, 12),labels=list(ascii_letters[26:])[0:11],colors=['#dc2624', '#2b4750', '#45a0a2', '#e87a59', '#7dcaa9', '#649E7D','#dc8018', '#C89F91', '#6c6d6c', '#4f6268', '#c7cccf'],autopct='%.2f%%',)plt.legend(patches,list(ascii_letters[26:])[0:11],  #添加图例title="Pie Learning",loc="center left",bbox_to_anchor=(1, 0, 0.5, 1),ncol=2,  #控制图例中按照两列显示,默认为一列显示,)

以下参考:Python可视化|matplotlib12-垂直|水平|堆积条形图详解

import matplotlib.pyplot as plt
import numpy as np
with plt.xkcd():plt.figure(dpi=150)labels = ['Jack', 'Rose', 'Jimmy']year_2019 = np.arange(1, 4)year_2020 = np.arange(1, 4) + 1bar_width = 0.4plt.bar(np.arange(len(labels)) - bar_width / 2,  #为了两个柱子一样宽year_2019,color='#dc2624',width=bar_width,label='year_2019'  #图例)plt.bar(np.arange(len(labels)) + bar_width / 2,year_2020,color='#45a0a2',width=bar_width,label='year_2020'  #图例)plt.xticks(np.arange(0, 3, step=1), labels, rotation=45)  #定义柱子名称plt.legend(loc=2)  #图例在左边

以下参考: Python可视化|matplotlib10-绘制散点图scatter

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
#数据准备
from sklearn import datasetsiris = datasets.load_iris()
x, y = iris.data, iris.target
pd_iris = pd.DataFrame(np.hstack((x, y.reshape(150, 1))),columns=['sepal length(cm)', 'sepal width(cm)','petal length(cm)', 'petal width(cm)', 'class'])
with plt.xkcd():plt.figure(dpi=150)  #设置图的分辨率#plt.style.use('Solarize_Light2')  #使用Solarize_Light2风格绘图iris_type = pd_iris['class'].unique()  #根据class列将点分为三类iris_name = iris.target_names  #获取每一类的名称colors = ['#dc2624', '#2b4750', '#45a0a2']  #三种不同颜色markers = ['$\clubsuit, '.', '+']  #三种不同图形for i in range(len(iris_type)):plt.scatter(pd_iris.loc[pd_iris['class'] == iris_type[i],'sepal length(cm)'],  #传入数据xpd_iris.loc[pd_iris['class'] == iris_type[i],'sepal width(cm)'],  #传入数据ys=50,  #散点图形(marker)的大小c=colors[i],  #marker颜色marker=markers[i],  #marker形状#marker=matplotlib.markers.MarkerStyle(marker = markers[i],fillstyle='full'),#设置marker的填充alpha=0.8,  #marker透明度,范围为0-1facecolors='r',  #marker的填充颜色,当上面c参数设置了颜色,优先cedgecolors='none',  #marker的边缘线色linewidths=1,  #marker边缘线宽度,edgecolors不设置时,该参数不起作用label=iris_name[i])  #后面图例的名称取自labelplt.legend(loc='upper right')

参考: https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.xkcd.html#matplotlib.pyplot.xkcd


-END-

高质量推荐

对比Python这几种不同的编辑器/IDE优缺点,看看你最中意哪一款?

PyQuery解析网页用法入门讲解(含Python代码举例讲解+爬虫实战)

Python实现【实时】显示处理进度的6种形式(附源码和动图演示)

一行Python代码让图形秒变「手绘风」相关推荐

  1. 给ggplot2来个「手绘风」

    本文借助xkcd在ggplot2里玩下手绘风,续前两篇: 一行Python代码让图形秒变「手绘风」 一款蠢萌蠢萌的可视化工具 xkcd主要有以下6个属性,详细功能都在后文代码里了- theme_xkc ...

  2. 10行Python代码让你秒变撩妹达人

    做微信聊天机器人,实现步骤: 1.获取微信的使用权,即python脚本能控制微信收发信息. 2.python脚本收到聊天信息后,要对该信息进行处理,返回机器人的回应信息. 简易版代码 from wxp ...

  3. 浪漫的python代码_十行Python代码让你秒变撩妹达人,程序员浪漫起来就没有你们啥事了!...

    做微信聊天机器人,实现步骤: 1.获取微信的使用权,即python脚本能控制微信收发信息. 2.python脚本收到聊天信息后,要对该信息进行处理,返回机器人的回应信息.我这里有一套Python从入门 ...

  4. python量化策略代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...

    动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思. 首先加载原始数据,我们用天的收盘价即可,按统一转为收益率.因为点位本身不重要,我们最后只关心变化率. 以沪深30 ...

  5. python量化投资代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...

    动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思. 首先加载原始数据,我们用天的收盘价即可,按统一转为收益率.因为点位本身不重要,我们最后只关心变化率. 以沪深30 ...

  6. 神操作!一行Python代码搞定一款游戏?给力!

    来源:pypl编程榜 一直以来Python长期霸占编程语言排行榜前三位,其简洁,功能强大的特性使越来越多的小伙伴开始学习Python .甚至K12的同学都开始学习Python 编程.新手入门的时候趣味 ...

  7. resnet keras 结构_Wandb用起来,一行Python代码实现Keras模型可视化

    大数据文摘出品 来源:wandb 编译:邢畅.宁静 在训练神经网络的过程中,我们可能会希望可视化网络的性能和中间的结构,很多可视化代码的冗长复杂使得我们望而却步,有没有一行代码就能解决可视化的所有问题 ...

  8. python可以干嘛知乎-一行Python代码能做什么?

    原标题:一行Python代码能做什么? 作者:笑虎 来源:知乎 首先你要了解一下Python之禅,一行代码输出"The Zen of Python": python -c &quo ...

  9. python join函数_一行 Python 代码能实现这么多丧心病狂的功能?

    最近看知乎上有一篇名为<一行 Python 能实现什么丧心病狂的功能?>(https://www.zhihu.com/question/37046157)的帖子,点进去发现一行Python ...

  10. 一行Python代码能干什么?有意思!

    我下班最大的乐趣就是刷抖音 一开始刷的都是一些无聊小剧场 后来看看能不能刷一些技术上的内容 因为本人觉得Java是世界上最好的编程语言 可是我在刷抖音的时候 刷到了一行Python代码能干什么 我突然 ...

最新文章

  1. 将ejs转为html,Node.js Express Web应用框架ejs修改为html
  2. 软件测试用python一般用来做什么-如何将Python应用到实际测试工作中?
  3. k8s灰度更新_k8s slb如何实现灰度发布-问答-阿里云开发者社区-阿里云
  4. cocos2dx--cocos2dx3.1.1执行报无法解析的外部符号
  5. html5的交互标签,html5里交互元素的使用方法
  6. Kickfire Enters into MySQL Enterprise Agreement with Sun
  7. 使用商业模式的九大模块去分析京东的商业模式_【荐读】商业模式新生代
  8. 分享吴恩达机器学习视频和300页word学习笔记,以及深度学习五门课视频及700页word笔记
  9. php关联微信支付宝,php实现微信和支付宝支付
  10. themeforest 免费模板
  11. Linux——scp的用法
  12. HTML5七夕情人节表白网页(流星动画3D相册) HTML+CSS+JS 求婚 html生日快乐祝福代码网页 520情人节告白代码 程序员表白源码 3D旋转相册 js烟花代码 css爱心表白
  13. python2的lambda函数的基础学习
  14. 7-60 有志者,事竟成
  15. 大数据产品推荐:百融信贷决策审批系统
  16. 仿QQ多级折叠、展开菜单,三级下拉导航
  17. 样本服从正态分布,证明样本容量n乘样本方差与总体方差之比服从卡方分布x^2(n)...
  18. 扩散模型与生成模型详解
  19. MySQL - 数据库表设计 - 范式
  20. Windows10系统只有一个C盘,如何扩展D盘等

热门文章

  1. Windows 10调整色温显示器
  2. 公司禁用U盘的方法总结
  3. mysql千万测试表生成,随机id、username、age、sex、create_time
  4. 将matlab代码转换成C代码
  5. 赏析角度有哪些_从哪些角度赏析句子
  6. Python爬虫入门教程 25-100 知乎文章图片爬取器之一
  7. Raid控制器-megacli 命令简易使用介绍
  8. c++ 栈 stack 用法
  9. 光盘怎么刻录服务器系统,如何刻录系统光盘?小编手把手教你电脑Windows刻录系统光盘的方法...
  10. 机器学习sklearn-逻辑回归