import matplotlib.pyplot as pltimport seaborn as snstitanic = sns.load_dataset('titanic')plt.hist(titanic['fare'],bins=30)
得到以下图表:
最后,我偶然发现了plt.hist()函数中的’edgecolor’参数,并将其设置为黑色就可以了.不幸的是我没有在seaborn distplot()函数中找到类似的参数,所以我仍然无法获得看起来应该如此的图表.
我考虑改变matplotlib中的rcParams,但我没有经验,我运行的以下脚本似乎什么也没做:
import matplotlib as mplmpl.rcParams['lines.linewidth'] = 1mpl.rcParams['lines.color'] = 'black'mpl.rcParams['patch.linewidth'] = 1mpl.rcParams['patch.edgecolor'] = 'black'mpl.rcParams['axes.linewidth'] = 1mpl.rcParams['axes.edgecolor'] = 'black'
我只是猜测我应该改变的价值,但再次运行我的图表显示没有变化.
然后我尝试使用mpl.rcdefaults()返回默认设置
但再一次,没有变化.
我使用conda重新安装matplotlib,但图表看起来仍然相同.我对如何更改这些图表的默认边缘颜色没有想法.我使用Conda构建运行最新版本的Python,matplotlib和seaborn.
解决方法 作为matplotlib 2.0更新的一部分,条形图上的边缘为 turned off by default.但是,您可以使用rcParamplt.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 npimport matplotlib.pyplot as pltimport seaborn as snsx = np.random.randn(100)ax = sns.distplot(x,linewidth=2))plt.show()总结
以上是内存溢出为你收集整理的python – 在Matplotlib直方图或Seaborn distplots的箱子上没有轮廓全部内容,希望文章能够帮你解决python – 在Matplotlib直方图或Seaborn distplots的箱子上没有轮廓所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)