我想看看如何做两件事情在Seaborn用条形图显示了在数据帧值,但不能在我期待的图形Seaborn Barplot - 显示值
1)在数据框中显示一个字段的值,同时绘制另一个字段的图形。例如,下面,我正在绘制'小费',但我希望将'total_bill'的值放在每个小节上方(即星期五以上350.88,星期六以上 1778.40等)。
2 )是否有一种方法可以缩放条的颜色,其中'total_bill'的最低值具有最浅的颜色(本例中为星期五),而'total_bill'的最高值具有最暗的颜色。显然,当我进行缩放时,我会坚持使用一种颜色(即蓝色)。
谢谢!我相信这很容易,但我很想念它。
虽然我看到别人认为这是另一个问题(或两个)的重复,但我错过了如何使用值不在图中作为标签或阴影的基础。我怎么说,使用total_bill作为基础。我很抱歉,但根据这些答案我无法弄清楚。
用下面的代码开始,
import pandas as pd
import seaborn as sns
%matplotlib inline
df=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata- book/master/ch08/tips.csv", sep=',')
groupedvalues=df.groupby('day').sum().reset_index()
g=sns.barplot(x='day',y='tip',data=groupedvalues)
我得到以下结果:
临时解决方案:
for index, row in groupedvalues.iterrows():
g.text(row.name,row.tip, round(row.total_bill,2), color='black', ha="center")
在阴影,使用下面的例子,我试过如下:
import pandas as pd
import seaborn as sns
%matplotlib inline
df=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata-book/master/ch08/tips.csv", sep=',')
groupedvalues=df.groupby('day').sum().reset_index()
pal = sns.color_palette("Greens_d", len(data))
rank = groupedvalues.argsort().argsort()
g=sns.barplot(x='day',y='tip',data=groupedvalues)
for index, row in groupedvalues.iterrows():
g.text(row.name,row.tip, round(row.total_bill,2), color='black', ha="center")
但是,这给了我以下错误:
AttributeError的: '据帧' 对象没有属性'argsort'
所以我尝试了一个修改:
import pandas as pd
import seaborn as sns
%matplotlib inline
df=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata-book/master/ch08/tips.csv", sep=',')
groupedvalues=df.groupby('day').sum().reset_index()
pal = sns.color_palette("Greens_d", len(data))
rank=groupedvalues['total_bill'].rank(ascending=True)
g=sns.barplot(x='day',y='tip',data=groupedvalues,palette=np.array(pal[::-1])[rank])
而且给我留下了
IndexError:指数4是出界对轴0与4号
http://matplotlib.org/users/annotations.html –
你真的SEACH张贴问题之前的解决方案? [这里](http://stackoverflow.com/questions/31749448/how-to-add-percentages-on-top-of-bars-in-seaborn)是一种方式来设置标签在酒吧和[这里](http ://stackoverflow.com/questions/36271302/changing-color-scale-in-seaborn-bar-plot)是一种方式来改变酒吧的颜色。如果您在实施任一解决方案时遇到问题,可以询问有关问题的具体问题。 – ImportanceOfBeingErnest
可能的重复[如何添加在seaborn上的酒吧的百分比?](http://stackoverflow.com/questions/31749448/how-to-add-percentages-on-top-of-bars-in-seaborn) – ImportanceOfBeingErnest