gpt4 book ai didi

python - 在 matplotlib 中绘制不同的颜色

转载 作者:IT老高 更新时间:2023-10-28 21:35:57 64 4
gpt4 key购买 nike

假设我有一个 for 循环,我想用不同的颜色绘制点:

for i in range(5):
plt.plot(x,y,col=i)

如何在 for 循环中自动更改颜色?

最佳答案

@tcaswell 已经回答了,但我正在输入我的答案,所以我会继续发布它......

您可以通过多种不同的方式来做到这一点。首先,matplotlib 会自动循环显示颜色。默认情况下,它会循环显示蓝色、绿色、红色、青色、洋红色、黄色、黑色:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 1, 10)
for i in range(1, 6):
plt.plot(x, i * x + i, label='$y = {i}x + {i}$'.format(i=i))
plt.legend(loc='best')
plt.show()

enter image description here

如果要控制 matplotlib 循环使用的颜色,请使用 ax.set_color_cycle:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 1, 10)
fig, ax = plt.subplots()
ax.set_color_cycle(['red', 'black', 'yellow'])
for i in range(1, 6):
plt.plot(x, i * x + i, label='$y = {i}x + {i}$'.format(i=i))
plt.legend(loc='best')
plt.show()

enter image description here

如果您想明确指定将使用的颜色,只需将其传递给 color kwarg(接受 html 颜色名称,rgb 元组和十六进制字符串也是如此):

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 1, 10)
for i, color in enumerate(['red', 'black', 'blue', 'brown', 'green'], start=1):
plt.plot(x, i * x + i, color=color, label='$y = {i}x + {i}$'.format(i=i))
plt.legend(loc='best')
plt.show()

enter image description here

最后,如果您想从 existing colormap 中自动选择指定数量的颜色:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 1, 10)
number = 5
cmap = plt.get_cmap('gnuplot')
colors = [cmap(i) for i in np.linspace(0, 1, number)]

for i, color in enumerate(colors, start=1):
plt.plot(x, i * x + i, color=color, label='$y = {i}x + {i}$'.format(i=i))
plt.legend(loc='best')
plt.show()

enter image description here

关于python - 在 matplotlib 中绘制不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16006572/

64 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com