python颜色参数palette_数据可视化Seaborn从零开始学习教程(二) 颜色调控篇

作者:xiaoyu

微信公众号:Python数据科学

知乎:python数据分析师

Seaborn学习大纲

seaborn的学习内容主要包含以下几个部分:

风格管理

绘图风格设置

颜色风格设置

绘图方法

数据集的分布可视化

分类数据可视化

线性关系可视化

结构网格

数据识别网格绘图

本次将主要介绍颜色调控的使用。

颜色风格设置

在Seaborn的使用中,是可以针对数据类型而选择合适的颜色,并且使用选择的颜色进行可视化,节省了大量的可视化的颜色调整工作。

还是一样,在介绍如何使用颜色外观设置之前,我们引入所需要的模块。

%matplotlib inline

import numpy as np

import seaborn as sns

import matplotlib.pyplot as plt

sns.set(rc={"figure.figsize": (6, 6)})

np.random.seed(sum(map(ord, "palettes")))

下面所有操作均在 Jupyter notebook 中执行,如果对这个软件还不熟悉的朋友可以参考:Jupyter notebook快速入门教程

建立调色板

对于不连续的外观颜色设置而言,最重要的函数恐怕要属color_palette了。这个函数拥有许多方法,让你可以随心所欲的可以生成各种颜色。并且,它可以被任何有palette参数的函数在内部进行使用(palette的中文意思是 "调色板")。

关于这个函数有几个点需要知道一下:

color_palette函数可以接受任何seaborn或者matplotlib颜色表中颜色名称(除了jet),也可以接受任何有效的matplotlib形式的颜色列表(比如RGB元组,hex颜色代码,或者HTML颜色名称)。

这个函数的返回值总是一个由RGB元组组成的列表,无参数调用color_palette函数则会返回当前默认的色环的列表。

还有一个相应的函数,是set_palette,它接受与color_palette一样的参数,并会对所有的绘图的默认色环进行设置。当然,你也可以在with语句中使用color_palette来临时的改变默认颜色。

通常,在不知道数据特点的情况下,要找出并知道哪组颜色对一组数据是最好的有点不太现实。因此,我们将分为多种方式来使用color_palette函数和其它的 seaborn paletee 函数。

有三种通用的color palette可以使用,它们分别是:qualitative,sequential,diverging。

1. 分类色板(quanlitative)

Qualitative调色板,也可以说成是 类型 调色板,因为它对于分类数据的显示很有帮助。当你想要区别 不连续的且内在没有顺序关系的 数据时,这个方式是最好的。

当导入seaborn时,默认的色环就被改变成一组包含6种颜色的调色板,它使用了标准的matplolib色环,为了让绘图变得更好看一些。

current_palette = sns.color_palette()

sns.palplot(current_palette)

有6种不同的默认主题,它们分别是:deep,muted,pastel,birght,dark,colorblind。

themes = ['deep', 'muted', 'pastel', 'bright', 'dark', 'colorblind']

for theme in themes:

current_palette = sns.color_palette(theme)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Python数据可视化的QQ音乐实例,使用了Matplotlib和Seaborn库来绘制图表和图形。 首先,我们需要安装这两个库: ```python !pip install matplotlib seaborn ``` 然后,我们需要获取QQ音乐的数据。我们可以使用爬虫来获取网站的数据,或者使用QQ音乐提供的API。 以下是一个使用QQ音乐API来获取某个歌手的热门歌曲的例子: ```python import requests # 使用QQ音乐API获取某个歌手的热门歌曲 url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp' params = { 'ct': '24', 'qqmusic_ver': '1298', 'new_json': '1', 'remoteplace': 'sizer.yqq.song_next', 'searchid': '64405487069162918', 't': '0', 'aggr': '1', 'cr': '1', 'catZhida': '1', 'lossless': '0', 'flag_qc': '0', 'p': '1', 'n': '20', 'w': '周杰伦', 'g_tk': '5381', 'jsonpCallback': 'MusicJsonCallback', 'loginUin': '0', 'hostUin': '0', 'format': 'jsonp', 'inCharset': 'utf8', 'outCharset': 'utf-8', 'notice': '0', 'platform': 'yqq.json', 'needNewCode': '0' } headers = { 'referer': 'https://y.qq.com/n/yqq/singer/0025NhlN2yWrP4.html', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } res = requests.get(url, params=params, headers=headers) json_data = res.json() song_list = json_data['data']['song']['list'] ``` 接下来,我们可以使用Matplotlib和Seaborn来绘制图表和图形。以下是一个绘制该歌手的热门歌曲排行榜的例子: ```python import matplotlib.pyplot as plt import seaborn as sns # 绘制该歌手的热门歌曲排行榜 song_names = [song['name'] for song in song_list] song_scores = [song['score'] for song in song_list] sns.set(style='whitegrid') plt.figure(figsize=(12,6)) sns.barplot(x=song_scores, y=song_names, palette='Blues_d') plt.title('周杰伦的热门歌曲排行榜') plt.xlabel('播放量') plt.ylabel('歌曲名称') plt.show() ``` 该代码会生成一个水平条形图,显示该歌手的热门歌曲排行榜,按播放量从高到低排序。我们可以使用其他的Matplotlib和Seaborn功能来自定义这个图表,比如添加标签、调整颜色和字体等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值