相见恨晚的Python可视化配色工具

来源:pythonic生物人

  • 有小伙伴说python可视化自带颜色很丑,那您一定是没遇到palettable,palettable是一个纯python写的颜色条(Colormap)库,汇集了大量知名可视化软件的颜色条(比如Tableau色系,matplotlib部分色系等等),共有颜色条(Colormap)1587类,可使用的单颜色数万种,本文详细介绍palettable如何使用


    f02caced4961820bab88767d96c7baf9.gif


1、palettable快速安装

pip install palettable -i https://pypi.tuna.tsinghua.edu.cn/simple

2、palettable颜色条(Colormap)快速使用

导入palettable包

import palettable
from palettable.cartocolors.qualitative import Bold_9

#为了描述方便,此处直接倒入palettable.cartocolors.qualitative大类下的Bold_9小类,
#实际使用时可直接用palettable.cartocolors.qualitative.Bold_9

palettable重要属性-可视化色度条

Bold_9.show_discrete_image()#Bold_9各种颜色条图片
aafc8364250732e5d038592badb1cf0e.png

palettable重要属性-输出色度条中单颜色的数目

print(Bold_9.number)#Bold_9这种colormap中单颜色的数目

9即上面的图片有9格

palettable重要属性-输出色度条中单颜色的色号值

print(Bold_9.colors)#Bold_9 colormap中每种颜色的RGB格式色号

print(Bold_9.hex_colors)#Bold_9 colormap中每种颜色的hex格式色号
print(Bold_9.mpl_colors)#RGB tuples in the range 0-1 as used by matplotlib

[[127, 60, 141], [17, 165, 121], [57, 105, 172], [242, 183, 1], [231, 63, 116], [128, 186, 90], [230, 131, 16], [0, 134, 149], [207, 28, 144]]

['#7F3C8D', '#11A579', '#3969AC', '#F2B701', '#E73F74', '#80BA5A', '#E68310', '#008695', '#CF1C90']

[(0.4980392156862745, 0.23529411764705882, 0.5529411764705883), (0.06666666666666667, 0.6470588235294118, 0.4745098039215686), (0.2235294117647059, 0.4117647058823529, 0.6745098039215687), (0.9490196078431372, 0.7176470588235294, 0.00392156862745098), (0.9058823529411765, 0.24705882352941178, 0.4549019607843137), (0.5019607843137255, 0.7294117647058823, 0.35294117647058826), (0.9019607843137255, 0.5137254901960784, 0.06274509803921569), (0.0, 0.5254901960784314, 0.5843137254901961), (0.8117647058823529, 0.10980392156862745, 0.5647058823529412)]

Matplotlib中使用palettable

例子来自matplotlib-饼图(pie)

import matplotlib.pyplot as plt
import matplotlib as mpl
import palettable

mpl.rc_file_defaults()
my_dpi = 96
plt.figure(figsize=(580 / my_dpi, 580 / my_dpi), dpi=my_dpi)
plt.subplot(221)
patches, texts, autotexts = plt.pie(
    x=[1, 2, 3],
    labels=['A', 'B', 'C'],
    #使用palettable.tableau.BlueRed_6
    colors=palettable.tableau.BlueRed_6.mpl_colors[0:3],
    autopct='%.2f%%',
    explode=(0.1, 0, 0))

patches[0].set_alpha(0.3)
patches[2].set_hatch('|')
patches[1].set_hatch('x')
plt.title('tableau.BlueRed_6', size=12)

mpl.rc_file_defaults()
plt.subplot(222)

patches, texts, autotexts = plt.pie(
    x=[1, 2, 3],
    labels=['A', 'B', 'C'],
    #使用palettable.cartocolors.qualitative.Bold_9
    colors=palettable.cartocolors.qualitative.Bold_9.mpl_colors[0:3],
    autopct='%.2f%%',
    explode=(0.1, 0, 0))

patches[0].set_alpha(0.3)
patches[2].set_hatch('|')
patches[1].set_hatch('x')
plt.title('cartocolors.qualitative.Bold_9', size=12)

mpl.rc_file_defaults()
plt.subplot(223)

patches, texts, autotexts = plt.pie(
    x=[1, 2, 3],
    labels=['A', 'B', 'C'],
    #使用palettable.cartocolors.qualitative.Bold_9
    colors=palettable.cartocolors.qualitative.Bold_9.mpl_colors[0:3],
    autopct='%.2f%%',
    explode=(0.1, 0, 0))

patches[0].set_alpha(0.3)
patches[2].set_hatch('|')
patches[1].set_hatch('x')
plt.title('cartocolors.qualitative.Bold_9', size=12)

plt.subplot(223)

patches, texts, autotexts = plt.pie(
    x=[1, 2, 3],
    labels=['A', 'B', 'C'],
    #使用palettable.lightbartlein.sequential.Blues10_5
    colors=palettable.lightbartlein.sequential.Blues10_5.mpl_colors[0:3],
    autopct='%.2f%%',
    explode=(0.1, 0, 0))

#matplotlib.patches.Wedge
patches[0].set_alpha(0.3)
patches[2].set_hatch('|')
patches[1].set_hatch('x')
plt.title('lightbartlein.sequential.Blues10_5', size=12)

plt.subplot(224)

patches, texts, autotexts = plt.pie(
    x=[1, 2, 3],
    labels=['A', 'B', 'C'],
    colors=palettable.wesanderson.Moonrise5_6.mpl_colors[0:3],
    autopct='%.2f%%',
    explode=(0.1, 0, 0))

patches[0].set_alpha(0.3)
patches[2].set_hatch('|')
patches[1].set_hatch('x')
plt.title('wesanderson.Moonrise5_6', size=12)
plt.show()
ae982ab7c4961c9e42fe0ce1aaa286bb.png

Seaborn中使用palettable

例子来自几行代码绘制靓丽矩阵图
使用palettable.tableau.TrafficLight_9

import seaborn as sns
iris_sns = sns.load_dataset("iris")

import palettable

g = sns.pairplot(
    iris_sns,
    hue='species',
    palette=palettable.tableau.TrafficLight_9.mpl_colors,  #Matplotlib颜色
)
sns.set(style='whitegrid')
g.fig.set_size_inches(10, 8)
sns.set(style='whitegrid', font_scale=1.5)

35fa865d81319b6096645f46b16a4f2c.png
使用palettable.tableau.BlueRed_6
82b8e11d39bfba4d57bc3bb8d5ced984.png使用palettable.cartocolors.qualitative.Bold_96ed001efe181c9a10a5c838835d3693f.png使用palettable.wesanderson.Moonrise5_600329acbb375cb32744a432b6673a796.png使用palettable.cartocolors.diverging.ArmyRose_7_re087aca5b299028b683bd4d65c2a4004.png


3、palettable包含那些颜色条(Colormap)

palettable下面有16大类Colormap,共计1587小类Colormap,合计上万种单颜色可供使用,已经整理为pdf格式,感兴趣的可以
包含以下16大类

palettable.cartocolors.diverging
palettable.cartocolors.qualitative
palettable.cartocolors.sequential
palettable.cmocean.diverging
palettable.cmocean.sequential
palettable.colorbrewer.diverging
palettable.colorbrewer.qualitative
palettable.colorbrewer.sequential
palettable.lightbartlein.diverging
palettable.lightbartlein.sequential
palettable.scientific.diverging
palettable.scientific.sequential
palettable.matplotlib
palettable.mycarta
palettable.tableau
palettable.wesanderson

共计1587小类【每个小类还有逆类,名称后面加“_r”即可】上面16大类下面有数个小类,例如,著名BI软件Tableau的配色条palettable.tableau这一大类,下面有palettable.tableau.BlueRed_12,palettable.tableau.GreenOrange_12等等数个小类:

palettable.tableau.BlueRed_12
palettable.tableau.BlueRed_6
palettable.tableau.ColorBlind_10
palettable.tableau.Gray_5
palettable.tableau.GreenOrange_12
palettable.tableau.GreenOrange_6
palettable.tableau.PurpleGray_12
palettable.tableau.PurpleGray_6
palettable.tableau.TableauLight_10
palettable.tableau.TableauMedium_10
palettable.tableau.Tableau_10
palettable.tableau.Tableau_20
palettable.tableau.TrafficLight_9

也就是类似上面的这种有1587行

-------- End --------

0c8fbd5a4a8922e0e684b0a708e71489.png
精选资料

回复关键词,获取对应的资料:

关键词资料名称
600《Python知识手册》
md《Markdown速查表》
time《Python时间使用指南》
str《Python字符串速查表》
pip《Python:Pip速查表》
style《Pandas表格样式配置指南》
mat《Matplotlib入门100个案例》
px《Plotly Express可视化指南》
精选视频

可视化: Plotly Express

财经: Plotly在投资领域的应用 | 绘制K线图表

排序算法: 汇总 | 冒泡排序 | 选择排序 | 快速排序 | 归并排序 | 堆排序 | 插入排序 | 希尔排序 | 计数排序 | 桶排序 | 基数排序

e02b82fa2e8bd5f1edfa02a473fba5bd.png
  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vcpkg是一个用于管理C++库的工具,uwebsockets是其中的一个库。在conanfile.txt文件中,指定了uwebsockets库的版本为20.9.0。然后,在main.cpp文件中,通过#include指令引入了App.h头文件,并使用了uWebsockets库。在main函数中,创建了一个uWS::App对象,并使用.get方法设置了路由处理函数,监听了3000端口,并启动了服务器。如果监听成功,则会输出"Listening on port 3000",否则会输出"Failed to listen on port 3000"。 要使用vcpkg安装uwebsockets库,首先需要将vcpkg克隆到指定的文件夹,例如c:\vcpkg。然后在管理员身份的命令提示符中运行bootstrap-vcpkg.bat脚本来启动vcpkg。接下来,执行vcpkg integrate install命令来安装先决条件。最后,可以使用vcpkg install uwebsockets命令来安装uwebsockets库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [相见恨晚 conan 开箱即用的c++包管理工具](https://blog.csdn.net/u011086331/article/details/122712916)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [term2-setup:Udacity CarND Term2设置](https://download.csdn.net/download/weixin_42097914/18751701)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值