一行代码让图形秒变「手绘风」
今天再介绍一个手绘工具(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')
Ref: https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.xkcd.html#matplotlib.pyplot.xkcd
一行代码让图形秒变「手绘风」相关推荐
- 给ggplot2来个「手绘风」
本文借助xkcd在ggplot2里玩下手绘风,续前两篇: 一行Python代码让图形秒变「手绘风」 一款蠢萌蠢萌的可视化工具 xkcd主要有以下6个属性,详细功能都在后文代码里了- theme_xkc ...
- 一行代码,Pandas秒变分布式,快速处理TB级数据
夏乙 发自 凹非寺 量子位 出品 | 公众号 QbitAI 刚刚在Pandas上为十几KB的数据做好了测试写好了处理脚本,上百TB的同类大型数据集摆到了面前.这时候,你可能面临着一个两难的选择: 继续 ...
- 网站变灰代码,一行代码让网站整体变灰,wordpress网站一行代码全站变灰教程
在遇到特殊情况的时候,我们作为站长需要紧急将网站变灰的需求,在此小编给大家总结了几种方法,通过简单修改一下站点样式即可实现.一段代码让网站整体变灰.这里主要介绍的利用 filter: grayscal ...
- Unreal Engine 4 手绘风滤镜(Paint Filter)即 桑原滤镜(Kuwahara Filter)教程(上)
原文|<Unreal Engine 4 Paint Filter Tutorial> 作者|Tommy Tran May 1 2018 | 翻译 开发游戏的老王 阅读时长|25分钟 内容难 ...
- 大气简洁手绘风商务计划书PPT模板
今天小编将给大家带来得是主题为大气简洁手绘风商务计划书PPT模板.这份PPT模板的模板样式是以浅色作为模板的主色调,模板整体的制作围绕着手绘风展开,模板的内容也十分丰富多彩.下面就给大家展示该PPT模 ...
- 简约手绘风卡通教学课件PPT模板
模板介绍 精美PPT模板设计,简约手绘风卡通教学课件PPT模板.一套说课PPT幻灯片模板,内含灰色多种配色,精美风格设计,动态播放效果,精美实用. 一份设计精美的PPT模板,可以让你在汇报演讲时脱颖而 ...
- 大气欧美彩色手绘风论文答辩PPT模板
下面这篇文章内容当中,小编将和大家分享得是主题为大气欧美彩色手绘风论文答辩PPT模板.这份PPT模板的模板样式是以白色作为模板背景,可模板内的边框.图案的颜色则为彩色,模板的风格为大气欧美手绘风.下面 ...
- Android 状态栏工具——一行代码实现状态栏字体变黑
个人网站 参考了一些文章做了一些修改,变成了自己的工具类.其中有很多地方欠考虑,有待改进,欢迎路过的大佬给点建议. 状态栏(一) 状态栏(二) 经过前两篇的介绍我们对如何修改状态栏的效果有了大致的了解 ...
- python量化策略代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...
动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思. 首先加载原始数据,我们用天的收盘价即可,按统一转为收益率.因为点位本身不重要,我们最后只关心变化率. 以沪深30 ...
- python量化投资代码_手把手教你用三行python 代码做一个动量策略「量化投资系列」...
动量策略是右侧交易里最常见的,背后的逻辑是就现在涨的,后市还会涨,动量具有惯性的意思. 首先加载原始数据,我们用天的收盘价即可,按统一转为收益率.因为点位本身不重要,我们最后只关心变化率. 以沪深30 ...
最新文章
- python二叉搜索树建立_700. 二叉搜索树的搜索(Python)
- WGS84经纬度坐标转北京54高斯投影地方坐标流程
- 【JBPM4】完成任务
- python连接池原理_python redis之连接池的原理
- 手工卡纸做机器人_亲子手工,带孩子用彩色卡纸做一朵可爱的小花,有教程
- Linux服务器开机自动启动服务或脚本的方法
- 运算符优先级(cpp/c)
- DonkeyCar树莓派版的实践
- 软件库App源码+后端源码
- 大学生数学竞赛试题荟萃 (更新至2017年10月28日)
- java算术表达式_一文了解如何用 Java 进行算术表达式计算
- Gym 101350E Competitive Seagulls
- 中国浓缩咖啡机行业市场供需与战略研究报告
- 超大玉螺旋丸 -A的个数 蓝桥杯练习题
- php发送指令给易语言,易语言发送信息代码数字指令编程整理
- CAD文件版本怎么转换?如何将高版本转换成低版本?
- HTML黑白触摸变彩色,使用HTML5 转换彩色图片为黑白色知识讲解.doc
- Android dex修复工具,安卓热修复----手动加载dex文件到设备并执行
- 计算机考试照片在线处理,全国普通计算机等级考试照片尺寸 在线调整的方法...
- 神秘大佬写的的运营思维课
热门文章
- 一秒钟Hold住Application.xml
- MAME set 4 player
- mame linux 编译,完美编译街机模拟器MAME(Android版)基于MAME4all
- 程序设计方法学作业—三天打渔两天晒网程序设计
- [美国]《霍比特人2:史矛革之战》[蓝光1080P.720P.中英双字][2013年奇幻动作]
- 从各行业的实际运用中,窥见华为云虚拟专用网络VPN的强大性能
- Ubuntu20.04 安装搜狗拼音
- 心理账户--《别做正常的傻瓜》摘记1
- 资源分享 | SAHI:超大图片中对小目标检测的切片辅助超推理库
- stack的使用方法