gpt4 book ai didi

python - Matplotlib fiddle 图不遵循 rcParams

转载 作者:太空宇宙 更新时间:2023-11-03 17:11:03 25 4
gpt4 key购买 nike

这是 matplotlib 版本 1.5.0。我似乎无法以 violinpot 遵循面部颜色的方式设置 rcParams。我分别为 axespatch 设置了 prop_cylefacecolor 键,但没有效果。例如下面的代码....

import matplotlib
from cycler import cycler


matplotlib.rcParams['axes.prop_cycle'] = cycler('color', ['pink','purple','salmon'])
matplotlib.rcParams['patch.facecolor'] = 'pink'
matplotlib.rcParams['patch.edgecolor'] = 'blue'

import matplotlib.pyplot as plt
from numpy.random import randn

fig = plt.figure(figsize=(12,6))

X = randn(100)

ax = fig.add_subplot(121)
for i in range(3):
ax.hist(X+2*i)

ax = fig.add_subplot(122)
for i in range(3):
ax.violinplot(X+2*i)

plt.show()

....产生:

no image description here

从图片中很难辨别,但 fiddle 图中的边缘颜色实际上设置为蓝色。 violinplot 似乎有一个默认的 alpha 设置,这使得这一点不太明显。但是,面部颜色显然仍保持默认状态。为什么会这样?我可以强制它使用 rcParams 值吗?我意识到I can set the facecolors manually绘图后,但我宁愿让绘图遵循默认值。

最佳答案

不幸的是,红色和黄色在 violonplot 的代码中被硬编码。

bodies += [fill(stats['coords'],
-vals + pos,
vals + pos,
facecolor='y',
alpha=0.3)]
(...)
artists['cmeans'] = perp_lines(means, pmins, pmaxes, colors='r')

我建议您在 matplotlib github 上提交功能请求

关于python - Matplotlib fiddle 图不遵循 rcParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34080423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com