Python: график изменения значений с плавающей точкой в ​​виде цветов - PullRequest
0 голосов
/ 04 июля 2018

У меня есть список кортежей трех цветов:

v = ([0.16091847477176702, 0.4337815920028113, 0.40529993322542174)
(0.15019057645364922, 0.40486281920262385, 0.44494660434372696)
(0.14017787135673926, 0.44453863125578225, 0.4152834973874785)
(0.13083267993295664, 0.41490272250539673, 0.45426459756164661)
(0.17697859494133705, 0.36303988219222216, 0.45998152286644078)
(0.16591743275750348, 0.40284988955520828, 0.43123267768728824)
(0.16591743275750348, 0.40284988955520828, 0.43123267768728824)
(0.16591743275750348, 0.40284988955520828, 0.43123267768728824)
(0.15406618756053894, 0.37407489744412198, 0.47185891499533911)
(0.20019069588580043, 0.32419824445157241, 0.47561105966262723)
(0.20019069588580043, 0.32419824445157241, 0.47561105966262723)
(0.17349860310102702, 0.34763847852469609, 0.47886291837427691)
(0.16193202956095856, 0.39112924662304965, 0.44693872381599176)]

Каждое значение в кортеже я интерпретирую как цвет (например: желтый, красный, синий), поэтому вместе каждый кортеж дает мне цвет (как сочетание первого, второго и третьего) , Можно ли построить график изменения цвета с помощью matplotlib? Моя первоначальная идея состояла в том, чтобы использовать RGB, но RGB принимает целые числа, и точность этих чисел очень важна. У кого-нибудь есть предложения?

1 Ответ

0 голосов
/ 04 июля 2018

с плавающей точкой от 0 до 1 - это хорошие значения для rgb в matplotlib. вот небольшой пример

import numpy as np
import matplotlib.pyplot as plt

v = [(0.16091847477176702, 0.4337815920028113, 0.40529993322542174),
(0.15019057645364922, 0.40486281920262385, 0.44494660434372696),
(0.14017787135673926, 0.44453863125578225, 0.4152834973874785),
(0.13083267993295664, 0.41490272250539673, 0.45426459756164661),
(0.17697859494133705, 0.36303988219222216, 0.45998152286644078),
(0.16591743275750348, 0.40284988955520828, 0.43123267768728824),
(0.16591743275750348, 0.40284988955520828, 0.43123267768728824),
(0.16591743275750348, 0.40284988955520828, 0.43123267768728824),
(0.15406618756053894, 0.37407489744412198, 0.47185891499533911),
(0.20019069588580043, 0.32419824445157241, 0.47561105966262723),
(0.20019069588580043, 0.32419824445157241, 0.47561105966262723),
(0.17349860310102702, 0.34763847852469609, 0.47886291837427691),
(0.16193202956095856, 0.39112924662304965, 0.44693872381599176)]

y = np.arange(len(v))
for i in range(len(v)):
    plt.plot(y[i], 0, marker='o', ls='', c=v[i], markersize=20)

plt.show()

и результат:

enter image description here

это тонко, но работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...