我可以通过以下方式在matplotlib中设置绘图的颜色和样式:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot([1,2,3],[1,2,3], 'r-')
plt.show()
这有效,但是:
我只能使用一个字符指定的颜色,例如'r','k'等。最好能够使用matplotlib接受的HTML颜色名称。
我可能需要提前准备将要传递的字符串,例如
fmt = 'r' + '_'
所以我希望得到类型的命令:
obj.set_color('Aquamarine')
obj.set_style('-')
我找不到办法做到这一点。
答案 0 :(得分:6)
docs中有所有可能的选项。
因此,您可以为绘图功能提供所有选项:
plt.plot([1,2,3], [5,6,7], color='#FF4455', linestyle='--')
或者你可以只绘图,而绘图函数将返回它创建的Artist
列表(在这种情况下只有一行)。之后,您可以在该特定行上设置属性。
fig, ax = plt.subplots(1, 1)
lines = ax.plot([1,2,3], [5,6,7])
line = lines[0]
line.set_color('#994455')
line.set_linestyle('--')
答案 1 :(得分:3)
您可以单独设置颜色和线条样式:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.plot([1,2,3],[1,2,3], color="r", ls="-")
plt.show()
来自剧情文档:
此外,您可以指定许多奇怪的颜色 精彩的方式,包括全名(
'green'
),十六进制 字符串('#008000'
),RGB或RGBA元组((0,1,0,1)
)或 灰度强度为字符串('0.8'
)。其中, 字符串规范可用于代替fmt
组, 但元组表单只能用作kwargs
。
所以只需添加参数即可接受所需的颜色和线条样式
答案 2 :(得分:2)
您可以使用字典存储调用plt.plot
时使用的关键字参数:
fmt = { 'color': 'red', 'linestyle' : '--'}
x = np.arange(10)
y = np.sin(x)
plt.plot(x,y,**fmt)
请参阅Python文档中的Unpacking Argument Lists。