迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python Matplotlib 中生成反向色彩图

作者:迹忆客 最近更新:2024/02/01 浏览次数:

色彩图 Colormap 是一种将数据值映射到颜色的简单方法。反转颜色图意味着反转每个值的色彩图。假设我们有一个色彩图,其中较低的值被映射到黄色,较高的值被映射到红色。通过反转 colormap,较低的值现在被映射到红色,较高的值被映射到黄色。本教程解释了在 Python Matplotlib 中反转色彩图的各种方法。


在 Python Matplotlib 中的色彩图(Colormaps)

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

plt.scatter(x, y, c=y, cmap="viridis")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Virdis colormap")
plt.colorbar()
plt.show()

它创建了一个散点图,其 y 值被映射到 viridis colormap。这意味着 y 值较低的点将呈现深蓝色,y 值较高的点将呈现黄色,而中间的点将呈现蓝色和绿色。

我们还可以在图的右侧看到一个颜色条,它显示了 y 不同值的颜色映射。


在 Matplotlib Python 中使用 _r 进行反向颜色映射

在 Matplotlib 中,我们可以通过在 colormap 名称的末尾添加 _r 来反转 colormap,例如 cmap='viridis_r'将简单地反转 viridis colormap。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

plt.scatter(x, y, c=y, cmap="viridis_r")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()

它创建了一个散点图,其 y 值被映射到反转的 viridis colormap 上。因此,图中数值较高的点得到深蓝色,数值较低的点得到黄色。

我们还可以看到,在这个例子中,右边的颜色条已经反转了颜色。


在 Matplotlib Python 中使用 matplotlib. colors.Colormap.reversed() 反转 Colormap

另一种在 Python 中反转 Colormap 的方法是使用 matplotlib.color.Colormap.reversed() 方法来创建反转的 Colormap。

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

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

initial_cmap = cm.get_cmap("viridis")
reversed_cmap = initial_cmap.reversed()

plt.scatter(x, y, c=y, cmap=reversed_cmap)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()

它还创建了一个散点图,其 y 值被映射到反向的 viridis colormap 上。reversed() 方法将应用该方法的 colormap 对象反转。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.colors import ListedColormap

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

initial_cmap = cm.get_cmap("viridis")
reversed_cmap = ListedColormap(initial_cmap.colors[::-1])

plt.scatter(x, y, c=y, cmap=reversed_cmap)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()

它还创建了一个散点图,其 y 值被映射到反转的 viridis colormap 上。任何 colormap 都只是一个颜色列表。我们可以使用 cmap. colors 访问 colormap cmap 的颜色列表。然后我们将列表反转,最后使用 matplotlib.cols 包中的 ListedColormap() 函数将反转后的列表转换回颜色图。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便