散点图,带有每个点的颜色编码值(如彩色网格)

2024-07-08 15:47:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个(非线性)键索引的数据。 我试图创建一个分散点,我的数据与每个关键点在一个轴上,和一个颜色栏,代表我的数据值。你知道吗

colormesh的问题是,例如,假设有4个点,(1,10,1st值),(1,20,2nd值),(2,13,3rd值)和(2,14,4th值),我的数据看起来像这样,所以我不能独立地改变每个键。此外,还有一些没有数据的区域应该保持白色。你知道吗

我是matplotlib的新手,我还没有找到任何函数可以这样做。你知道吗

我假设尝试手工创建一个色阶,固定几个值范围,然后做一个散点图就可以了,但它看起来不雅观,也不精确。你知道吗

解决这个问题的最佳方法是什么,或者在我错过的库中是否有相关的matplotlib函数/选项?你知道吗


Tags: 数据方法函数区域matplotlib颜色选项代表
1条回答
网友
1楼 · 发布于 2024-07-08 15:47:31

为了简单起见,我假设您可以得到第一个键的列表或数组并称之为x,第二个键并称之为y,值并称之为value。你知道吗

假设这样,您可以将seaborn和matplotlib结合起来,以实现所需的功能:

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

x, y, value = np.random.rand(3, 50)
color_map = sns.dark_palette((0.5, 0.75, 0.9), as_cmap=True)

plot_handle, axis = plt.subplots()
scatter_points = axis.scatter(x, y, c=value, cmap=color_map)
plot_handle.colorbar(scatter_points)

# possibly need plt.show() if using interactively
# or else use matplotlib save figure options.

这将产生以下示例图:

example sns scatter

您可以从sns.palettes中查看各种颜色映射选项(允许as_cmap的选项最简单),包括一些不需要配置任何颜色范围的选项,如sns.cubehelix_palette。你知道吗

相关问题 更多 >

    热门问题