我讨厌有关风格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()

Python相关问答推荐

想要使用Polars groupby_Dynamic来缩减时间序列收件箱(包括空垃圾箱)

是什么导致对Python脚本的jQuery Ajax调用引发500错误?

当值是一个integer时,在Python中使用JMESPath来验证字典中的值(例如:1)

Odoo 14 hr. emergency.public内的二进制字段

韦尔福德方差与Numpy方差不同

对某些列的总数进行民意调查,但不单独列出每列

为什么符号没有按顺序添加?

Python库:可选地支持numpy类型,而不依赖于numpy

如何使用根据其他值相似的列从列表中获取的中间值填充空NaN数据

加速Python循环

OR—Tools中CP—SAT求解器的IntVar设置值

Pre—Commit MyPy无法禁用非错误消息

ThreadPoolExecutor和单个线程的超时

从spaCy的句子中提取日期

旋转多边形而不改变内部空间关系

如何检测鼠标/键盘的空闲时间,而不是其他输入设备?

如何获取Python synsets列表的第一个内容?

比Pandas 更好的 Select

Polars map_使用多处理对UDF进行批处理

用fft计算指数复和代替求和来模拟衍射?