有没有办法更改 mplstyle 文件中颜色名称的颜色?
Is there a way to change the color name's color in mplstyle file?
我想为 matplotlib 图分配颜色,例如通过写作
plt.plot(x,y, color="red")
。但是“红色”应该是我在mpstyle文件中预定义的颜色。
我知道我可以更改用于绘图的 mplstyle 文件中的默认颜色
# colors: blue, red, green
axes.prop_cycle: cycler('color', [(0,0.3,0.5),(0.9, 0.3,0.3),(0.7, 0.8, 0.3)])
但是除此之外我有时需要用特定的颜色画一些东西
plt.bar([0,1],[1,1],color=["green","red"])
不幸的是,这些颜色总是引用 matplotlib 中预定义的“绿色”和“红色”。我想将 my green 分配给“green”,将 my red 分配给“red”。
当然,我可以做一个解决方法并将变量定义为 RGB 元组
red = (0.9, 0.3,0.3)
green = (0.7, 0.8, 0.3)
plt.bar([0,1],[10,8],color=[red,green])
但我认为更自然的做法是重新定义“绿色”和“红色”所指的颜色。
你们中有人知道我如何在 mplstyle 文件中更改颜色名称的颜色吗?
您能否提供更多上下文或代码?或者您是如何尝试实现这一目标的?
不知不觉中,这是 documentation 的一项建议:
mpl.rcParams['axes.prop_cycle'] = cycler(color=['r', 'g', 'b', 'y'])
plt.plot(data) # first color is red
以上内容也可以放入你的matplotlibrc
文件中。
颜色名称列表存储在matplotlib.colors.get_named_colors_mapping()
中,您可以对其进行编辑。
import matplotlib.colors
import matplotlib.pyplot as plt
color_map = matplotlib.colors.get_named_colors_mapping()
color_map["red"] = "#ffaaaa"
color_map["green"] = "#aaffaa"
plt.bar([0, 1], [1, 1], color=["green", "red"])
plt.show()
我想为 matplotlib 图分配颜色,例如通过写作
plt.plot(x,y, color="red")
。但是“红色”应该是我在mpstyle文件中预定义的颜色。
我知道我可以更改用于绘图的 mplstyle 文件中的默认颜色
# colors: blue, red, green
axes.prop_cycle: cycler('color', [(0,0.3,0.5),(0.9, 0.3,0.3),(0.7, 0.8, 0.3)])
但是除此之外我有时需要用特定的颜色画一些东西
plt.bar([0,1],[1,1],color=["green","red"])
不幸的是,这些颜色总是引用 matplotlib 中预定义的“绿色”和“红色”。我想将 my green 分配给“green”,将 my red 分配给“red”。
当然,我可以做一个解决方法并将变量定义为 RGB 元组
red = (0.9, 0.3,0.3)
green = (0.7, 0.8, 0.3)
plt.bar([0,1],[10,8],color=[red,green])
但我认为更自然的做法是重新定义“绿色”和“红色”所指的颜色。
你们中有人知道我如何在 mplstyle 文件中更改颜色名称的颜色吗?
您能否提供更多上下文或代码?或者您是如何尝试实现这一目标的?
不知不觉中,这是 documentation 的一项建议:
mpl.rcParams['axes.prop_cycle'] = cycler(color=['r', 'g', 'b', 'y'])
plt.plot(data) # first color is red
以上内容也可以放入你的matplotlibrc
文件中。
颜色名称列表存储在matplotlib.colors.get_named_colors_mapping()
中,您可以对其进行编辑。
import matplotlib.colors
import matplotlib.pyplot as plt
color_map = matplotlib.colors.get_named_colors_mapping()
color_map["red"] = "#ffaaaa"
color_map["green"] = "#aaffaa"
plt.bar([0, 1], [1, 1], color=["green", "red"])
plt.show()