簡體   English   中英

如何在 Matplotlib 中找到定性顏色圖的顏色限制?

[英]How do I find color limits for qualitative colormaps in Matplotlib?

我有以下代碼生成散點圖 plot:

plt.scatter(df['column_A'], y= df['column_B'], 
            alpha = .6, c = df['column_C'], cmap = 'Accent')

它生成此圖表,其中的點根據“column_C”中的值着色

我在 cmap 中使用定性顏色圖,它會自動在 column_C 上創建間隔並相應地為點着色。 我可以直觀地說灰色組的范圍從大約 10 到數據中的最大值(大約 12),但我想訪問確切的數字。 有沒有辦法做到這一點?

非常感謝

默認情況下,colors 的范圍從column_C的最小值到最大值。 對於具有N colors 的顏色圖,將有N個段,因此可以使用np.linspace()計算N+1邊界。

這是一些說明性代碼。 添加了一個帶有默認刻度的顏色條和一個在顏色邊界處帶有刻度的顏色條。

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

df = pd.DataFrame({'column_A': np.random.rand(100),
                   'column_B': np.random.rand(100),
                   'column_C': np.random.rand(100) * 20 - 8})
cmap = plt.get_cmap('Accent')
plt.scatter(df['column_A'], y=df['column_B'],
            alpha=.6, c=df['column_C'], cmap=cmap)
plt.colorbar()  # the default color bar
color_borders = np.linspace(df['column_C'].min(), df['column_C'].max(), cmap.N + 1)
plt.colorbar(ticks=color_borders)  # ticks at the color borders
plt.show()

在顏色欄中查找顏色邊框

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM