Python - Seaborn可视化:图形个性化设置的几个小技巧
1 概述
在可视化过程中,经常会对默认的制图效果不满意,希望能个性化进行各种设置。
本文通过一个简单的示例,来介绍seaborn可视化过程中的个性化设置。包括常用的设置,如:
- 设置图表显示颜色
- 设置图表标题,包括显示位置,字体大小,颜色等
- 设置x轴和y轴标题,包括颜色,字体大小
- 设置x轴和y轴刻度内容,包括颜色、字体大小、字体方向等
- 将x轴和y轴内容逆序显示
- 设置x轴或y轴显示位置
本文的运行环境:
- windows 7
- python 3.5
- jupyter notebook
- seaborn 0.7.1
- matplotlib 2.0.2
2 未个性化设置的情形
本文的数据来自UCI的数据集”sonar”,用pandas直接读取数据。如下:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
% matplotlib inline
target_url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data'
df = pd.read_csv(target_url, header=None, prefix='V')
corr = df.corr()
首先来看看没有进行个性化设置时的显示情况,如下:
f, ax= plt.subplots(figsize = (14, 10))
sns.heatmap(corr,cmap='RdBu', linewidths = 0.05, ax = ax)
# 设置Axes的标题
ax.set_title('Correlation between features')
f.savefig('sns_style_origin.jpg', dpi=100, bbox_inches='tight')
图片显示效果如下:
seaborn制图的默认效果其实还是不错的。
3 进行个性化设置
对于上面这张图,可能让y轴从下到上,从v0开始显示,这样显示出来的对角线可能更符合我们的视觉显示效果。
这就要用到 将y轴内容进行可逆显示,涉及的代码如下:
# 将y轴或x轴进行逆序
ax.invert_yaxis()
# ax.invert_xaxis()
其他的个性化设置的代码,包括:
将x轴刻度放置在top位置的几种方法
# 将x轴刻度放置在top位置的几种方法
# ax.xaxis.set_ticks_position('top')
ax.xaxis.tick_top()
# ax.tick_params(axis='x',labelsize=6, colors='b', labeltop=True, labelbottom=False) # x轴
设置坐标轴刻度参数,”axis”不写的时候,默认是x轴和y轴的参数同时调整。
# 设置坐标轴刻度的字体大小
# matplotlib.axes.Axes.tick_params
ax.tick_params(axis='y',labelsize=8) # y轴
旋转轴刻度上文字方向的两种方法
# 旋转轴刻度上文字方向的两种方法
ax.set_xticklabels(ax.get_xticklabels(), rotation=-90)
# ax.set_xticklabels(corr.index, rotation=90)
保存图片,设置bbox_inches=’tight’,保存的图片则不会出现部分内容显示不全的现象。
f.savefig('sns_style_update.jpg', dpi=100, bbox_inches='tight')
整合好的代码如下,大家可以运行试试效果。
f, ax = plt.subplots(figsize = (14, 10))
# 设置颜色
cmap = sns.cubehelix_palette(start = 1, rot = 3, gamma=0.8, as_cmap = True)
# color: https://matplotlib.org/users/colormaps.html
sns.heatmap(corr,cmap='RdBu', linewidths = 0.05, ax = ax)
# 设置Axes的标题
ax.set_title('Correlation between features', fontsize=18, position=(0.5,1.05))
# 将y轴或x轴进行逆序
ax.invert_yaxis()
# ax.invert_xaxis()
ax.set_xlabel('X Label',fontsize=10)
# 设置Y轴标签的字体大小和字体颜色
ax.set_ylabel('Y Label',fontsize=15, color='r')
# 设置坐标轴刻度的字体大小
# matplotlib.axes.Axes.tick_params
ax.tick_params(axis='y',labelsize=8) # y轴
# ax.tick_params(axis='x',labelsize=6, colors='b', labeltop=True, labelbottom=False) # x轴
# 将x轴刻度放置在top位置的几种方法
# ax.xaxis.set_ticks_position('top')
ax.xaxis.tick_top()
# ax.tick_params(axis='x',labelsize=6, colors='b', labeltop=True, labelbottom=False) # x轴
# 修改tick的字体颜色
# ax.tick_params(axis='x', colors='b') # x轴
# 旋转轴刻度上文字方向的两种方法
ax.set_xticklabels(ax.get_xticklabels(), rotation=-90)
# ax.set_xticklabels(corr.index, rotation=90)
# 单独设置y轴或x轴刻度的字体大小, 调整字体方向
# ax.set_yticklabels(ax.get_yticklabels(),fontsize=6)
# ax.set_xticklabels(ax.get_xticklabels(), rotation=-90)
f.savefig('sns_style_update.jpg', dpi=100, bbox_inches='tight')
图形显示效果如下:
这些个性化的设置,其实大部分都是使用的matplotlib的内容,seaborn是基于matplotlib衍生的,所以可以跟matplotlib进行融合使用。
当然,并不是每次都需要进行个性定制,具体可以根据自己的需求来设置。
如果您喜欢我的文章,欢迎关注微信公众号“Python数据之道”(ID:PyDataRoad)
Python - Seaborn可视化:图形个性化设置的几个小技巧的更多相关文章
- Python开发工具PyCharm个性化设置(图解)
Python开发工具PyCharm个性化设置,包括设置默认PyCharm解析器.设置缩进符为制表符.设置IDE皮肤主题等,大家参考使用吧. JetBrains PyCharm Pro 4.5.3 中文 ...
- Python开发工具PyCharm个性化设置
Python开发工具PyCharm个性化设置,包括设置默认PyCharm解析器.设置缩进符为制表符.设置IDE皮肤主题等,大家参考使用吧 1.设置默认PyCharm解析器: 操作如下: Pyt ...
- Vscode个性化设置:让一个小萌妹陪你敲代码
前言 大家平时都用什么代码编辑器啊!我个人比较喜欢用vscode,因为有以下几点: 开源,免费: 自定义配置 集成git 智能提示强大 支持各种文件格式(html/jade/css/less/sass ...
- 设置visual studio的小技巧
设置 Visual Studio 方法 1.设置关闭快捷键 Ctrl + W:关闭当前文档窗口 Ctrl + Q:关闭所有文档窗口 设置方法:工具-->选项-->键盘:在显示命令包含中输入 ...
- 关于Python ,requests的小技巧
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xie_0723/article/details/52790786 关于 Python Request ...
- Python Requests 小技巧总结
关于 Python Requests ,在使用中,总结了一些小技巧把,分享下. 1:保持请求之间的Cookies,我们可以这样做. import requests self.session = req ...
- Python数据可视化-seaborn库之countplot
在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是s ...
- g2蚂蚁数据可视化折线图,点位坐标label 图形文本设置
应用g2可视化插件画了个粉丝分析图 要求显示如图所见的节点参数,查看文档蚂蚁图形文本设置,得知需要引入如下代码: chart.point().position('update*praises').la ...
- 【数据科学】Python数据可视化概述
注:很早之前就打算专门写一篇与Python数据可视化相关的博客,对一些基本概念和常用技巧做一个小结.今天终于有时间来完成这个计划了! 0. Python中常用的可视化工具 Python在数据科学中的地 ...
随机推荐
- 结巴(jieba)中文分词及其应用实践
中文文本分类不像英文文本分类一样只需要将单词一个个分开就可以了,中文文本分类需要将文字组成的词语分出来构成一个个向量.所以,需要分词. 这里使用网上流行的开源分词工具结巴分词(jieba),它可以有效 ...
- JFile的导入xlsx与xls
首先需要有JAVA的一些jar包 下载地址:http://download.csdn.net/detail/qq_35980546/9892511 你要先配置好路由,还有能拿到绝对路径才行 下面直接给 ...
- 【SqlServer系列】表单查询
1 概述 如下几个问题,如果你能解决,请继续往下看,若不能解决,请先复习SQL基础知识,再来阅读本篇文章.本篇文章深度中等左右. Q1:表StudentScores如下,用一条SQL语句查询出每门 ...
- bootstrap栅栏系统css中的col-xs-*、col-sm-*、col-md-* 的意义以及 bootstrap一个标签中,同时有 col-xs , col-sm , col-md , col-lg的理解
摘要: bootstrap栅栏系统css中的col-xs-*.col-sm-*.col-md-* 的意义: .col-xs- 超小屏幕 手机 (<768px) .col-sm- 小屏幕 平板 ( ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)A B题
当时晚上打CF时候比较晚,加上是集训期间的室友都没有晚上刷题的习惯,感觉这场CF很不在状态.A题写复杂WA了一发后去厕所洗了个脸冷静了下,换个简单写法,可是用cin加了ios::sync_with_s ...
- MySQL · 引擎特性 · InnoDB奔溃恢复
前言 数据库系统与文件系统最大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的奔溃恢复机制来保证.本 ...
- USB的前世今生
在人类的历史长河中,很少有一种技术或者传输标准能像USB那样跟我们的生活息息相关,甚至到了没有不行的地步.USB对于今天的人们来说,就好像是空气,是水,是我们每天必需但是又熟视无睹的东西,没有多少人知 ...
- 或许你不知道的10条SQL技巧(转自58沈剑原创)
这几天在写索引,想到一些有意思的TIPS,希望大家有收获. 一.一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and s ...
- python基础(9):文件处理
很多软件都会有有对文件处理的功能.今天我们就来学习文件处理. 文件处理 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,可以将结果赋值给一个变量,这个变量我们称为句柄.这样我们就可以通过这个 ...
- (转)systemctl 命令完全指南
场景:在使用chkconfig查看vsftpd是否看机启动时候看不到启动项,用systemctl 才看到自己想要的结果 1 总结 from:https://linux.cn/article-5926- ...