首页 > 解决方案 > Matplotlib:有没有办法用 matplotlibrc 设置默认的散布样式?

问题描述

我使用 pandas 和 matplotlib 进行了大量绘图,并且一直在寻找一种方法来帮助在我的 matplotlibrc 文件中设置默认散点样式。我不想编辑 matplotlib 源代码来获得默认行为,因为我需要能够允许同事重现工作(并且希望在机器/VE 之间保持一致,并在不担心破坏的情况下进行更新)。

例如,我希望能够做到:

plt.scatter(
    df["dep_var"],
    df["ind_var"],
    alpha=0.5,
    facecolors="none",
    edgecolors="#444444",
    linewidth=2,
)

和:

plt.scatter(
    df["dep_var"],
    df["ind_var"],
)

在 matplotlibrc 文件(或其他一些非源代码位置)中覆盖 alpha、面颜色、边缘颜色和线宽。但是当我添加

scatter.alpha : 0.5 

到我的 matplotlibrc 文件,我得到一个坏键警告。

有没有办法做到这一点?

标签: pythonmatplotlib

解决方案


我认为一个可能的解决方案是使用 RC 参数,如:

plt.rcParams["scatter.edgecolors"] = "#444444"
plt.rcParams["lines.linewidth"]=2

你可以在这里查看更多关于 ket for Rc

你只需要运行一次!如果您重新启动内核,它将恢复为默认值。


推荐阅读