返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何查看并打印matplotlib中所有的colormap(cmap)类型
  • 888
分享到

Python如何查看并打印matplotlib中所有的colormap(cmap)类型

2024-04-02 19:04:59 888人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录查看并打印matplotlib中所有的colORMap(cmap)类型方法一方法二方法三matplotlib cmap取值问题直接定义一个类来获取cmap中各个颜色方便使用&nb

查看并打印matplotlib中所有的colormap(cmap)类型

代码如下:

方法一

import matplotlib.pyplot as plt

cmaps = sorted(m for m in plt.cm.datad if not m.endswith("_r"))
print(cmaps)

我们忽略以_r结尾的类型,因为它们都是类型后面不带有_r的反转版本(reversed version)。

所有的类型我们可以在matplotlib的源代码中找到:(如下图)

方法二

import matplotlib.pyplot as plt

cmap_list1 = plt.colormaps()
print(cmap_list1)

方法三

如果使用的是PyCharm编译器,那么可以在作图的时候简单的随便给定一个cmap的类型,如果给定的cmap类型是错误的,那么在编译器的错误提示信息中也会显示出所有的cmap类型。

比如,我们这里我们想要做一个高斯函数的曲面分布图,我们随意给cmap一个'aaa'的值,这时,我们可以在编译器提示窗口看到如下错误信息的输出。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3D import Axes3D

x = np.linspace(-3, 3, 100)
y = np.linspace(-3, 3, 100)
x, y = np.meshgrid(x, y)
w0 = 1
gaussian = np.exp(-((pow(x, 2) + pow(y, 2)) / pow(w0, 2)))

fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(x, y, gaussian, cmap='aaa')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
"""
错误提示信息:
ValueError: 'aaa' is not a valid value for name; supported values are 'Accent',
 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 
 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens',
 'Greens_r', 'Greys', 'Greys_r', 'OrRd', 'OrRd_r', 'Oranges', 'Oranges_r', 
 'PRGn', 'PRGn_r', 'Paired', 'Paired_r', 'Pastel1', 'Pastel1_r', 'Pastel2', 
 'Pastel2_r', 'PiYG', 'PiYG_r', 'PuBu', 'PuBuGn', 'PuBuGn_r', 'PuBu_r', 'PuOr',
 'PuOr_r', 'PuRd', 'PuRd_r', 'Purples', 'Purples_r', 'RdBu', 'RdBu_r', 'RdGy', 
 'RdGy_r', 'RdPu', 'RdPu_r', 'RdYlBu', 'RdYlBu_r', 'RdYlGn', 'RdYlGn_r', 'Reds',
 'Reds_r', 'Set1', 'Set1_r', 'Set2', 'Set2_r', 'Set3', 'Set3_r', 'Spectral',
 'Spectral_r', 'Wistia', 'Wistia_r', 'YlGn', 'YlGnBu', 'YlGnBu_r', 'YlGn_r', 
 'YlOrBr', 'YlOrBr_r', 'YlOrRd', 'YlOrRd_r', 'afmhot', 'afmhot_r', 'autumn',
 'autumn_r', 'binary', 'binary_r', 'bone', 'bone_r', 'brg', 'brg_r', 'bwr',
 'bwr_r', 'cividis', 'cividis_r', 'cool', 'cool_r', 'coolwarm', 'coolwarm_r',
 'copper', 'copper_r', 'cubehelix', 'cubehelix_r', 'flag', 'flag_r','GISt_earth',
 'gist_earth_r', 'gist_gray', 'gist_gray_r', 'gist_heat','gist_heat_r', 'gist_ncar',
 'gist_ncar_r', 'gist_rainbow', 'gist_rainbow_r','gist_stern', 'gist_stern_r',
 'gist_yarg', 'gist_yarg_r', 'gnuplot','gnuplot2', 'gnuplot2_r', 'gnuplot_r', 'gray',
 'gray_r', 'hot', 'hot_r', 'hsv', 'hsv_r', 'inferno', 'inferno_r', 'jet','jet_r',
 'magma', 'magma_r','nipy_spectral', 'nipy_spectral_r', 'ocean', 'ocean_r',
'pink', 'pink_r','plasma', 'plasma_r', 'prism', 'prism_r', 'rainbow', 'rainbow_r',
'seismic', 'seismic_r', 'spring', 'spring_r', 'summer', 'summer_r', 'tab10','tab10_r',
'tab20', 'tab20_r', 'tab20b', 'tab20b_r', 'tab20c', 'tab20c_r', 'terrain','terrain_r',
'turbo', 'turbo_r', 'twilight', 'twilight_r', 'twilight_shifted','twilight_shifted_r',
'viridis', 'viridis_r', 'winter', 'winter_r'
"""

matplotlib cmap取值问题

直接定义一个类来获取cmap中各个颜色方便使用 

使用的话:mycolor = MyColor(‘Accent’); mycolor.get_color();# 每次就调用获取下一个cmap中的颜色。

class MyColor(object):
    def __init__(self, cmap_name):
        self.color_set  = plt.get_cmap(cmap_name).colors
        self.idx = 0
        self.color_len = len(self.color_set)
        
    def get_color(self):
        if self.idx == self.color_len - 1:
            self.idx = 0
        color = self.color_set[self.idx]
        self.idx += 1
        return color

可视化官方提供的cmap

比如查看:[‘Pastel1’, ‘Pastel2’, ‘Paired’, ‘Accent’, ‘Dark2’, ‘Set1’, ‘Set2’, ‘Set3’, ‘tab10’, ‘tab20’, ‘tab20b’, ‘tab20c’]

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.pyplot as plt

cmaps = {}
gradient = np.linspace(0, 1, 256)
gradient = np.vstack((gradient, gradient))

def plot_color_gradients(cateGory, cmap_list):
    # Create figure and adjust figure height to number of colormaps
    nrows = len(cmap_list)
    figh = 0.35 + 0.15 + (nrows + (nrows - 1) * 0.1) * 0.22
    fig, axs = plt.subplots(nrows=nrows + 1, figsize=(6.4, figh), dpi=100)
    fig.subplots_adjust(top=1 - 0.35 / figh, bottom=0.15 / figh,
                        left=0.2, right=0.99)
    axs[0].set_title(f'{category} colormaps', fontsize=14)

    for ax, name in zip(axs, cmap_list):
        ax.imshow(gradient, aspect='auto', cmap=plt.get_cmap(name))
        ax.text(-0.01, 0.5, name, va='center', ha='right', fontsize=10,
                transform=ax.transAxes)

    # Turn off *all* ticks & spines, not just the ones with colormaps.
    for ax in axs:
        ax.set_axis_off()

    # Save colormap list for later.
    cmaps[category] = cmap_list
    

plot_color_gradients('Qualitative',
                     ['Pastel1', 'Pastel2', 'Paired', 'Accent', 'Dark2',
                      'Set1', 'Set2', 'Set3', 'tab10', 'tab20', 'tab20b',
                      'tab20c'])

运行后:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Python如何查看并打印matplotlib中所有的colormap(cmap)类型

本文链接: https://lsjlt.com/news/120903.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python如何查看并打印matplotlib中所有的colormap(cmap)类型
    目录查看并打印matplotlib中所有的colormap(cmap)类型方法一方法二方法三matplotlib cmap取值问题直接定义一个类来获取cmap中各个颜色方便使用&nb...
    99+
    2024-04-02
  • python如何查看类的所有属性
    在Python中,可以使用内置函数dir()来查看一个类的所有属性。dir()函数返回一个列表,包含指定对象的所有属性和方法。 例如...
    99+
    2023-10-22
    python
  • Python如何打印字典中的所有键值对
    这篇文章主要介绍了Python如何打印字典中的所有键值对的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何打印字典中的所有键值对文章都会有所收获,下面我们一起来看看吧。要打印字典中的所有键值对:使用...
    99+
    2023-07-05
  • python如何查看自己安装的所有库并导出
    今天小编给大家分享一下python如何查看自己安装的所有库并导出的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、查看安装的...
    99+
    2023-07-02
  • windows中如何查看打印机的ip地址
    这篇文章主要讲解了“windows中如何查看打印机的ip地址”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows中如何查看打印机的ip地址”吧!查看打印机的ip地址:方法一: 首先按...
    99+
    2023-07-02
  • python如何优雅的打印嵌套类型的数据
    小编给大家分享一下python如何优雅的打印嵌套类型的数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!优雅的打印嵌套类型的数据...
    99+
    2024-04-02
  • java中如何查看数据的类型
    在Java中,可以通过使用getClass()方法或instanceof关键字来查看数据的类型。 使用getClass()方法: ...
    99+
    2024-03-04
    java
  • python中如何查看指定目录下的所有文件
    python中查看指定目录下所有文件的方法:1、在win操作系统中找到python程序目录;2、打开idle工具;3、在idle中新建一个shell脚本;4、输入“import os”指令导入os模块;5、通过“os.listdir(目录路...
    99+
    2024-04-02
  • 查看Python中常用的数据类型有哪些方法
    Python是一种简洁而强大的编程语言,它支持多种数据类型。在编写Python程序时,我们经常需要查看数据的类型,以便了解数据的结构和特征,进而进行相应的操作和处理。本文将介绍Python中常用的数据类型查看方法,并提供相应的代...
    99+
    2024-01-20
    方法 数据类型 查看
  • Python如何使用type()函数查看数据的类型
    目录使用type()查看数据的类型使用type来定义类我们先来看一张图仔细观察我们上代码测试一下使用type()查看数据的类型 在Python中, 可以使用type()类型来查看数据...
    99+
    2024-04-02
  • python如何查找列表中所有元素的出现
    小编给大家分享一下python如何查找列表中所有元素的出现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!查找列表中所有元素的出现先前的代码将提供最频繁的值。 如果...
    99+
    2023-06-27
  • 我们如何查看数据库中所有触发器的列表?
    借助 SHOW TRIGGERS 语句,我们可以列出特定数据库中的所有触发器。可以借助以下示例进行说明 -示例mysql> Show Triggers\G *************************** 1. row ****...
    99+
    2023-10-22
  • 我们如何查看数据库中所有触发器的列表
    要查看数据库中所有触发器的列表,可以使用以下方法之一:1. 使用特定的查询语句:不同的数据库管理系统可能有不同的语法,但一般来说,可...
    99+
    2023-10-12
    数据库
  • Python中的数据类型有哪些,如何选择合适的类型?
    Python作为一种高级编程语言,具有丰富的数据类型,这些数据类型的使用直接影响程序的效率和可读性。本文将介绍Python中常见的数据类型以及如何选择合适的类型。 Python中的数据类型包括:数字、字符串、列表、元组、集合和字典。下面我们...
    99+
    2023-08-19
    数据类型 spring windows
  • Python中常用的数据类型有哪些?如何进行打包操作?
    Python是一门高效、易学、易用的编程语言,因此在数据处理和科学计算方面非常受欢迎。在Python中,常用的数据类型有很多,包括数字类型、字符串类型、列表类型、元组类型、字典类型、集合类型等等。本文将介绍Python中常见的数据类型及其特...
    99+
    2023-10-13
    数据类型 打包 shell
  • Linux中如何查看已挂载的文件系统类型详解
    前言 如你所知,linux 支持非常多的文件系统,例如 ext4、ext3、ext2、sysfs、securityfs、FAT16、FAT32、NTFS 等等,当前被使用最多的文件系统是 ext4。你曾经疑惑过你的 Li...
    99+
    2022-06-04
    linux挂载文件系统 linux 挂载根文件系统 linux挂载nfs文件系统
  • 如何在Python中使用打包的路径数据类型?
    在Python中使用打包的路径数据类型可以帮助我们更方便地管理和操作文件路径,特别是在跨平台的开发中。本文将介绍如何在Python中使用打包的路径数据类型,并且演示一些常用的操作。 什么是打包的路径数据类型? 打包的路径数据类型是Pytho...
    99+
    2023-09-08
    打包 path 数据类型
  • MySQL表类型中如何查看数据库支出的存储引擎
    这期内容当中小编将会给大家带来有关MySQL表类型中如何查看数据库支出的存储引擎,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、查看当前数据库支出的存储引擎方法1:mysql> show...
    99+
    2023-06-25
  • 如何在Python编程算法学习笔记中快速掌握所有数据类型?
    Python编程语言是一种非常流行的编程语言,其简单易学、功能强大的特点使其成为了数据科学、人工智能等领域中广泛使用的语言之一。在Python编程中,数据类型是非常重要的一部分,因为它们决定了你可以对数据做哪些操作。在本篇文章中,我们将介绍...
    99+
    2023-07-10
    编程算法 学习笔记 数据类型
  • 如何使用C#中的Enum.GetNames函数获取枚举类型中所有定义的名称
    在C#中,枚举类型是一种非常有用的数据类型,它允许我们定义一些常量来表示某些状态或选项。一旦定义了枚举类型,就可以使用Enum.GetNames函数来获取所有定义的名称。本文将详细介绍如何使用该函数,并提供具体的代码示例。什么是Enum.G...
    99+
    2023-11-18
    C# enum GetNames
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作