使用时如何重写matplotlib属性plt.style.使用()?

2024-09-27 23:25:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在matplotlib中使用seaborn暗色样式,但是覆盖不可见的脊椎。在

示例A-在设置脊椎可见之前使用样式意味着我得到了seaborn深色样式,但我没有得到绿色脊椎。在

import matplotlib.pyplot as plt

plt.style.use("seaborn-dark")

figure = plt.figure(1, figsize=(11, 11))
ax = plt.gca()

assert(isinstance(ax, plt.Axes))
for spine in ax.spines.values():
    spine.set()
    spine.set_visible(True)
    spine.set_edgecolor('g')
    spine.set_alpha(1)
plt.show()

示例B-在设置脊椎可见后使用样式意味着您不会得到seaborn深色样式的效果,但我确实得到了绿色的脊椎。在

^{pr2}$

我想在matplotlib中使用seaborn深色样式,但随后覆盖脊椎使其可见并为绿色,同时保持seaborn深色的其他特征(例如深灰色面部颜色)不变。但是,我得到一个或另一个,取决于plt.轴()对象在调用之前或之后实例化plt.style.使用(). 在


Tags: import示例matplotlibstyleplt样式seabornax
1条回答
网友
1楼 · 发布于 2024-09-27 23:25:02

seaborn深色样式将轴的线宽设置为0。所以需要将linewidth属性重置回1或任何需要的值。在

import matplotlib.pyplot as plt

plt.style.use("seaborn-dark")

figure = plt.figure(1, figsize=(11, 11))
ax = plt.gca()

for spine in ax.spines.values():
    spine.set_edgecolor('g')
    spine.set_linewidth(1)

plt.show()

因为本质上您想要重新定义样式,所以我建议您在同一级别更改这些参数,即rcParams。 下面的结果是相同的,但使参数的来源更加明显。在

^{pr2}$

相关问题 更多 >

    热门问题