【发布时间】:2017-12-11 16:03:35
【问题描述】:
我的箱形图的调色板有问题。我希望根据中值分配颜色。中值越高,颜色越深。我选择了调色板YlGnBu。但是,颜色被分配为渐变 - 较深的颜色位于右侧,而较浅的颜色位于左侧:
df = sns.load_dataset("tips")
norm = plt.Normalize(df["total_bill"].values.min(), df["total_bill"].values.max())
colors = plt.cm.YlGnBu(norm(df["total_bill"]))
flierprops = dict(markerfacecolor='0.75', markersize=5,linestyle='none')
plt.figure(figsize=(12,8))
ax = sns.boxplot(x="day", y="total_bill", data=df,
palette=colors,
flierprops=flierprops) # hue="smoker",
plt.xticks(rotation='vertical')
ax.get_xaxis().set_major_formatter(
matplotlib.ticker.FuncFormatter(lambda x,p: str(x)+":00"))
ax.get_yaxis().set_major_formatter(
matplotlib.ticker.FuncFormatter(lambda x,p: locale.format('%d', x, 1)))
ax.grid(b=True, which='major', color='#d3d3d3', linewidth=1.0)
ax.grid(b=True, which='minor', color='#d3d3d3', linewidth=0.5)
plt.show()
【问题讨论】:
标签: python pandas matplotlib seaborn