python显示图像某列的颜色值_Matplotlib中的按列颜色值

2015年10月更新

Seaborn出色地处理了这个用例:import numpy

import pandas

from matplotlib import pyplot

import seaborn

seaborn.set(style='ticks')

numpy.random.seed(0)

N = 37

_genders= ['Female', 'Male', 'Non-binary', 'No Response']

df = pandas.DataFrame({

'Height (cm)': numpy.random.uniform(low=130, high=200, size=N),

'Weight (kg)': numpy.random.uniform(low=30, high=100, size=N),

'Gender': numpy.random.choice(_genders, size=N)

})

fg = seaborn.FacetGrid(data=df, hue='Gender', hue_order=_genders, aspect=1.61)

fg.map(pyplot.scatter, 'Weight (kg)', 'Height (cm)').add_legend()

立即输出:

旧答案

在这种情况下,我将直接使用matplotlib。import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

def dfScatter(df, xcol='Height', ycol='Weight', catcol='Gender'):

fig, ax = plt.subplots()

categories = np.unique(df[catcol])

colors = np.linspace(0, 1, len(categories))

colordict = dict(zip(categories, colors))

df["Color"] = df[catcol].apply(lambda x: colordict[x])

ax.scatter(df[xcol], df[ycol], c=df.Color)

return fig

if 1:

df = pd.DataFrame({'Height':np.random.normal(size=10),

'Weight':np.random.normal(size=10),

'Gender': ["Male","Male","Unknown","Male","Male",

"Female","Did not respond","Unknown","Female","Female"]})

fig = dfScatter(df)

fig.savefig('fig1.png')

这给了我:

据我所知,该颜色列可以是任何matplotlib兼容的颜色(RBGA元组、HTML名称、十六进制值等)。

除了数值之外,我很难用彩色地图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值