python – 在Matplotlib直方图或Seaborn distplots的箱子上没有
发布时间:2020-12-20 10:35:12 所属栏目:Python 来源:网络整理
导读:在使用seaborn和Jupyter笔记本做一些练习问题时,我意识到distplot()图表没有文档中所有示例图表所具有的各个分箱的较暗轮廓.我尝试使用Pycharm创建图表并注意到同样的事情.认为这是一个seaborn问题,我尝试使用matplotlib的一些hist()图表,只是为了获得相同的
在使用seaborn和Jupyter笔记本做一些练习问题时,我意识到distplot()图表没有文档中所有示例图表所具有的各个分箱的较暗轮廓.我尝试使用Pycharm创建图表并注意到同样的事情.认为这是一个seaborn问题,我尝试使用matplotlib的一些hist()图表,只是为了获得相同的结果.
import matplotlib.pyplot as plt import seaborn as sns titanic = sns.load_dataset('titanic') plt.hist(titanic['fare'],bins=30) 得到以下图表: 最后,我偶然发现了plt.hist()函数中的’edgecolor’参数,并将其设置为黑色就可以了.不幸的是我没有在seaborn distplot()函数中找到类似的参数,所以我仍然无法获得看起来应该如此的图表. 我考虑改变matplotlib中的rcParams,但我没有经验,我运行的以下脚本似乎什么也没做: import matplotlib as mpl mpl.rcParams['lines.linewidth'] = 1 mpl.rcParams['lines.color'] = 'black' mpl.rcParams['patch.linewidth'] = 1 mpl.rcParams['patch.edgecolor'] = 'black' mpl.rcParams['axes.linewidth'] = 1 mpl.rcParams['axes.edgecolor'] = 'black' 我只是猜测我应该改变的价值,但再次运行我的图表显示没有变化. 然后我尝试使用mpl.rcdefaults()返回默认设置 我使用conda重新安装matplotlib,但图表看起来仍然相同.我对如何更改这些图表的默认边缘颜色没有想法.我使用Conda构建运行最新版本的Python,matplotlib和seaborn. 解决方法
作为matplotlib 2.0更新的一部分,条形图上的边缘为
turned off by default.但是,您可以使用rcParam
plt.rcParams["patch.force_edgecolor"] = True 全局转动边缘. 可能最简单的选择是在创建seaborn图时使用hist_kws参数专门设置edgecolor, ax = sns.distplot(x,hist_kws=dict(edgecolor="k",linewidth=2)) 对于matplotlib图,您可以直接使用edgecolor或ec参数. plt.bar(x,y,edgecolor="k") plt.hist(x,edgecolor="k") 同样,对于大熊猫的情节, df.plot(kind='hist',edgecolor="k") 一个完整的seaborn例子: import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.random.randn(100) ax = sns.distplot(x,linewidth=2)) plt.show() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |