我讨厌有关风格ggplot的一切,但我确实喜欢它的 colored颜色 .
import matplotlib.pyplot as plt
plt.style.use('ggplot')
这设置了该风格的 colored颜色 ,以及所有内容.如何仅导入该样式的 colored颜色 循环(对于所有线、点、.),但不从这种风格中进口任何其他东西?
我讨厌有关风格ggplot的一切,但我确实喜欢它的 colored颜色 .
import matplotlib.pyplot as plt
plt.style.use('ggplot')
这设置了该风格的 colored颜色 ,以及所有内容.如何仅导入该样式的 colored颜色 循环(对于所有线、点、.),但不从这种风格中进口任何其他东西?
要在Matplotlib中获取ggplot colored颜色 而不完全使用其风格,您可以从ggplot中提取 colored颜色 并将其应用到您的图中:
import matplotlib.pyplot as plt
# Use ggplot style to get its color cycle
plt.style.use('ggplot')
colors = plt.rcParams['axes.prop_cycle'].by_key()['color']
# Revert to the default style
plt.style.use('default')
# Apply ggplot colors to default style
plt.rcParams['axes.prop_cycle'] = plt.cycler(color=colors)
plt.plot([1, 2, 3], [1, 4, 9], label="Line 1")
plt.plot([1, 2, 3], [2, 3, 1], label="Line 2")
plt.legend()
plt.show()
此代码首先切换到"ggplot"样式以获取其 colored颜色 ,然后恢复到默认样式并应用提取的 colored颜色 .
也许您可以避免运行此代码,而只是模仿 colored颜色 :
colors = ['#E24A33', '#348ABD', '#988ED5', '#777777', '#FBC15E', '#8EBA42', '#FFB5B8']
plt.rcParams['axes.prop_cycle'] = plt.cycler(color=colors)
UPD: 以下是一种仅将其应用于一个图表的方法,而不是在全局设置.
colors = ['#E24A33', '#348ABD', '#988ED5', '#777777', '#FBC15E', '#8EBA42', '#FFB5B8']
# Create a context manager for the custom color cycle
with plt.rc_context({'axes.prop_cycle': plt.cycler(color=colors)}):
# This plot will use the custom color cycle
plt.plot([1, 2, 3, 4], label='Line 1')
plt.plot([4, 3, 2, 1], label='Line 2')
plt.title('Plot with Custom Color Cycle')
plt.legend()
plt.show()