【发布时间】:2017-09-12 14:00:25
【问题描述】:
我在 Jupyter 笔记本 上有以下 DataFrame,它使用 seaborn 绘制条形图:
data = {'day_index': [0, 1, 2, 3, 4, 5, 6],
'avg_duration': [708.852242, 676.7021900000001, 684.572677, 708.92534, 781.767476, 1626.575057, 1729.155673],
'trips': [114586, 120936, 118882, 117868, 108036, 43740, 37508]}
df = pd.DataFrame(data)
daysOfWeek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
plt.figure(figsize=(16,10));
sns.set_style('ticks')
ax = sns.barplot(data=df, \
x='day_index', \
y='avg_duration', \
hue='trips', \
palette=sns.color_palette("Reds_d", n_colors=7, desat=1))
ax.set_xlabel("Week Days", fontsize=18, alpha=0.8)
ax.set_ylabel("Duration (seconds)", fontsize=18, alpha=0.8)
ax.set_title("Week's average Trip Duration", fontsize=24)
ax.set_xticklabels(daysOfWeek, fontsize=16)
ax.legend(fontsize=15)
sns.despine()
plt.show()
可以看出,条形与 x_ticklabels 不匹配并且非常细。
如果我删除 hue='trips' 部分,这一切都已修复,这是一个已知的 seaborn 问题。
虽然在可视化中显示行程数量非常重要,但是:有没有办法绕过 seaborn(可能直接使用 matplotlib)添加色调属性?
【问题讨论】:
标签: python pandas matplotlib data-visualization seaborn