python散点图密度颜色_python-Matplotlib散点图过滤器颜色(Colorbar)

我有一些数据,可以说x,y和z.所有都是一维数组.我用z作为颜色绘制了散点图;

import matplotlib.pyplot as plt

plt.scatter(x,y,c=z,alpha = 0.2)

plt.xlabel("X")

plt.ylabel("Y")

plt.ylim((1.2,1.5))

plt.colorbar()

z值已归一化,且介于-1到1之间.我已附上下图.

我的问题是;我该如何过滤颜色,以使颜色值介于-0.25到0.25之间的点从图形中消失(即,将颜色设置为白色).

如果需要回答此问题,可以提供x,y和z的值.感谢您的时间.

解决方法:

import matplotlib.pyplot as plt

import numpy as np

np.random.seed(42)

# prepare random data

stats = -1, 1, 200

x = np.random.uniform(*stats)

y = np.random.uniform(*stats)

z = np.random.uniform(*stats)

# mask unwanted data

thresh = 0.4

mask = np.abs(z) <= thresh

x_ma = np.ma.masked_where(mask, x)

y_ma = np.ma.masked_where(mask, y)

z_ma = np.ma.masked_where(mask, z)

并作图:

fig, (ax_left, ax_right) = plt.subplots(1, 2, figsize=(10, 4),

sharex=True, sharey=True)

img_left = ax_left.scatter(x, y, c=z)

fig.colorbar(img_left, ax=ax_left)

img_right = ax_right.scatter(x_ma, y_ma, c=z_ma)

fig.colorbar(img_right, ax=ax_right)

给出以下结果:

右侧的图将隐藏所有低于所选阈值的点.

标签:scatter-plot,python,matplotlib

来源: https://codeday.me/bug/20191009/1880257.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值