dok*_*ndr 2 python matplotlib python-3.x seaborn jupyter-notebook
在什么情况下 Seaborn 会将直方图列设为白色?我在 Jupyter 笔记本中使用 Seaborn:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
Run Code Online (Sandbox Code Playgroud)
然后我使用这个函数绘制直方图:
def plot_hist(data, xlabel, bins=None):
if not bins:
bins = int(np.sqrt(len(data)))
_= plt.xlabel(xlabel)
_= plt.hist(data, bins=bins)
Run Code Online (Sandbox Code Playgroud)
因此,在某些情况下,我的直方图包含所有蓝色列或一些蓝色和一些白色或仅白色列。请看附图。
如何让 Seaborn 总是画蓝色的柱子?
我相信问题在于edgecolor直方图是white,并且随着您增加箱的数量或减少条的宽度,edgecolor开始覆盖facecolor. 您应该能够通过使用更高的 dpi 来修复它,
# globally
from matplotlib import rcParams
rcParams['figure.dpi'] = 300
# or for only this figure
fig = plt.figure(dpi=300)
Run Code Online (Sandbox Code Playgroud)
更薄的linewidth,
# globally
from matplotlib import rcParams
rcParams['patch.linewidth'] = 0.5
# or for only this plot
_= plt.hist(data, bins=bins, linewidth=0.5)
Run Code Online (Sandbox Code Playgroud)
或完全删除轮廓,
_= plt.hist(data, bins=bins, edgecolor='none')
Run Code Online (Sandbox Code Playgroud)
请注意,可能需要在全局方法之后,sns.set()因为这可能会覆盖它们。
| 归档时间: |
|
| 查看次数: |
477 次 |
| 最近记录: |