簡體   English   中英

如何使用浮點數指定顏色(不是灰度陰影)?

[英]How to use a float to specify a colour (not grayscale shades)?

這是示例玩具代碼,用於繪制具有字符串編號的顏色。

import numpy as np; import matplotlib.pyplot as plt;
c1=str(np.random.rand());c2=str(np.random.rand())
x1=[2,3,4];y1=[20,30,40];
x2=[-2,-3,-4];y2=[-20,-30,-40]
plt.plot(x1,y1,'*',c=c1)
plt.plot(x2,y2,'o',c=c2)

這就是顏色的樣子

我想問一下,是否有一種方法可以使用單個數字字符串使顏色超出灰色陰影?

您可以通過提供3元(或4元) float來指定RGB(A)顏色,也可以使用單個float值從顏色圖中選擇一種顏色:

from matplotlib import pyplot as plt
import numpy as np

x1 = [2, 3, 4]
y1 = [20, 30, 40]
x2 = [-2, -3, -4]
y2 = [-20,-30,-40]

plt.figure(1, figsize=(9, 4))

# Specify a RGB color from float 3-tuple
plt.subplot(1, 2, 1)
plt.plot(x1, y1, '*', c=np.random.rand(3))
plt.plot(x2, y2, 'o', c=np.random.rand(3))
plt.ylabel('RGB color from float 3-tuple')

# Specify a color from a colormap from a single float
plt.subplot(1, 2, 2)
plt.plot(x1, y1, '*', c=plt.cm.viridis(np.random.rand()))
plt.plot(x2, y2, 'o', c=plt.cm.viridis(np.random.rand()))
plt.ylabel('Color from colormap from single float')

plt.tight_layout()
plt.show()

輸出量

希望有幫助!

嘗試更換線

plt.plot(x1,y1,'*',c=c1)
plt.plot(x2,y2,'o',c=c2)

dots1 = plt.plot(x1,y1,'*',c=c1,label='x1')
dots2 = plt.plot(x2,y2,'o',c=c2,label='x2')
plt.setp(dots1, color='r', linewidth=2.0)
plt.setp(dots2, color='g', linewidth=2.0)

plt.legend()
plt.show()

圖片

暫無
暫無

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

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