matplotlib设置颜色,时尚风格

Sol*_*lma 2 python matplotlib

我可以通过以下方式在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()
Run Code Online (Sandbox Code Playgroud)

这有效,但是:

  1. 我只能使用一个字符指定的颜色,如'r','k'等.最好能够使用matplotlib接受的HTML颜色名称.

  2. 我可能必须提前准备将要传递的字符串,做类似的事情

    fmt = 'r' + '_'
    
    Run Code Online (Sandbox Code Playgroud)

所以我想要这种类型的命令:

obj.set_color('Aquamarine')
obj.set_style('-')
Run Code Online (Sandbox Code Playgroud)

我找不到办法做到这一点.

Vik*_*kez 6

您拥有文档中的所有可能选项.

因此,您可以为绘图功能提供所有选项:

plt.plot([1,2,3], [5,6,7], color='#FF4455', linestyle='--')
Run Code Online (Sandbox Code Playgroud)

或者你可以只绘图,而绘图函数将返回Artist它创建的s 列表(在这种情况下只有一行).之后,您可以在该特定行上设置属性.

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('--')
Run Code Online (Sandbox Code Playgroud)