matplotlib 3D散点图,其标记颜色与RGB值相对应

助焊剂电容器

我已经使用mahotas将图片加载到numpy数组中。

import mahotas
img = mahotas.imread('test.jpg')

中的每个像素img均由RGB值数组表示:

img[1,1] = [254, 200, 189]

我制作了一个3D散点图,其中一个轴上的R值,第二个轴上的G值和第三个轴上的B值。这没问题:

fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')
for i in range(1,img.shape[1]+1):
    xs = img[i,1][0]
    ys = img[i,1][1]
    zs = img[i,1][2]
    ax.scatter(xs, ys, zs, c='0.5', marker='o')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

plt.show()

(我只是暂时绘制图像的第一列)。

如何通过每个图像像素的颜色为每个散点图着色?即,我想我想通过点的RGB值对点进行着色,但是我不确定是否可行?

乔·金顿

是的,您可以执行此操作,但是它需要通过一种不同于c参数的单独机制来完成简而言之,请使用facecolors=rgb_array


首先,让我解释发生了什么。Collectionscatter的回报具有设定颜色的两个“系统”(因为缺乏一个更好的词)。

如果使用自c变量,则通过ScalarMappable“系统”设置颜色这指定应通过将颜色图应用于单个变量来控制颜色。(这是set_array任何继承自方法ScalarMappable。)

ScalarMappable系统外,还可以独立设置收藏集的颜色。在这种情况下,您将使用facecolorskwarg。


作为一个简单的例子,这些点将具有随机指定的rgb颜色:

import matplotlib.pyplot as plt
import numpy as np

x, y = np.random.random((2, 10))
rgb = np.random.random((10, 3))

fig, ax = plt.subplots()
ax.scatter(x, y, s=200, facecolors=rgb)
plt.show()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用matplotlib更改3D散点图的默认颜色条

来自分类Dev

如何使Matplotlib 3D散点图更大?

来自分类Dev

Matplotlib 3D散点图无面色

来自分类Dev

3D散点图Colorbar Matplotlib Python

来自分类Dev

散点图颜色栏-Matplotlib

来自分类Dev

Matplotlib:3D散点图无法识别标签

来自分类Dev

使用matplotlib制作3D移动散点图

来自分类Dev

matplotlib底图,其图例与地图上点的大小相对应

来自分类Dev

matplotlib 绘制与点的大小和颜色相对应的图例

来自分类Dev

在 Matplotlib 中使用 RGB 值的颜色

来自分类Dev

具有不同标记和颜色的matplotlib散点图

来自分类Dev

散点图 matplotlib 结果相同的颜色

来自分类Dev

使用Matplotlib在3D图中标记点

来自分类Dev

matplotlib 3D图按值范围进行颜色编码

来自分类Dev

matplotlib 3D图按值范围进行颜色编码

来自分类Dev

定义Matplotlib 3D条形图的颜色

来自分类Dev

Python-Matplotlib中的3D线图颜色图

来自分类Dev

Python-Matplotlib中的3D线图颜色图

来自分类Dev

来自 Dataframe 的不同类的 Matplotlib 3D 绘图颜色

来自分类Dev

matplotlib 3D 线图,整个图中的颜色编码

来自分类Dev

Matplotlib的3D图

来自分类Dev

matplotlib中的动态标记颜色

来自分类Dev

matplotlib中的动态标记颜色

来自分类Dev

Matplotlib散点图的散点图

来自分类Dev

如何将标签注释到3D matplotlib散点图?

来自分类Dev

在Matplotlib中使用scatter()在3D散点图中添加图例

来自分类Dev

如何在matplotlib中的3D散点图上为数据点着色

来自分类Dev

我正在尝试使用matplotlib在python中将散点图绘制到我的3d连续图上

来自分类Dev

如何在matplotlib中的3D散点图上为数据点着色

Related 相关文章

热门标签

归档