TL'DR,垂直条形图以传统方式显示——事物从左到右排列。但是,当它转换为水平条形图(从bar到barh)时,一切都颠倒了。即,对于分组条形图,不仅分组条的顺序是错误的,而且每个组的顺序也是错误的。例如,来自http://dwheelerau.com/2014/05/28/pandas-data-analysis-new-zealanders-and-their-sheep/的图表如果您仔细观察,您会发现条形图和图例顺序相反——牛肉在图例中显示在顶部,但在图表中显示在底部。作为最简单的演示,我将kind='bar',改为kind='barh',从这张图https://plot.ly/p
以下代码仅将主要类别['one','two','three','four','five','six']显示为x轴标签。有没有办法将子类别['A','B','C','D']显示为辅助x轴标签?df=pd.DataFrame(np.random.rand(6,4),index=['one','two','three','four','five','six'],columns=pd.Index(['A','B','C','D'],name='Genus')).round(2)df.plot(kind='bar',figsize=(10,4)) 最佳答案
以下代码仅将主要类别['one','two','three','four','five','six']显示为x轴标签。有没有办法将子类别['A','B','C','D']显示为辅助x轴标签?df=pd.DataFrame(np.random.rand(6,4),index=['one','two','three','four','five','six'],columns=pd.Index(['A','B','C','D'],name='Genus')).round(2)df.plot(kind='bar',figsize=(10,4)) 最佳答案
什么是Pythonic/pandas对pandas列中的“级别”进行排序以在条形图中给出特定条形顺序的方式。例如,给定:importpandasaspddf=pd.DataFrame({'group':['a','a','a','a','a','a','a','b','b','b','b','b','b','b'],'day':['Mon','Tues','Fri','Thurs','Sat','Sun','Weds','Fri','Sun','Thurs','Sat','Weds','Mon','Tues'],'amount':[1,2,4,2,1,1,2,4,5,3,4,2,1,3
什么是Pythonic/pandas对pandas列中的“级别”进行排序以在条形图中给出特定条形顺序的方式。例如,给定:importpandasaspddf=pd.DataFrame({'group':['a','a','a','a','a','a','a','b','b','b','b','b','b','b'],'day':['Mon','Tues','Fri','Thurs','Sat','Sun','Weds','Fri','Sun','Thurs','Sat','Weds','Mon','Tues'],'amount':[1,2,4,2,1,1,2,4,5,3,4,2,1,3
您可以在seaborn中轻松制作的最酷的东西之一是boxplot+stripplot组合:importmatplotlib.pyplotaspltimportseabornassnsimportpandasaspdtips=sns.load_dataset("tips")sns.stripplot(x="day",y="total_bill",hue="smoker",data=tips,jitter=True,palette="Set2",split=True,linewidth=1,edgecolor='gray')sns.boxplot(x="day",y="total_bill
您可以在seaborn中轻松制作的最酷的东西之一是boxplot+stripplot组合:importmatplotlib.pyplotaspltimportseabornassnsimportpandasaspdtips=sns.load_dataset("tips")sns.stripplot(x="day",y="total_bill",hue="smoker",data=tips,jitter=True,palette="Set2",split=True,linewidth=1,edgecolor='gray')sns.boxplot(x="day",y="total_bill
importmatplotlib.pyplotaspltgridnumber=range(1,4)b1=plt.bar(gridnumber,[0.2,0.3,0.1],width=0.4,label="Bar1",align="center")b2=plt.bar(gridnumber,[0.3,0.2,0.2],color="red",width=0.4,label="Bar2",align="center")plt.ylim([0,0.5])plt.xlim([0,4])plt.xticks(gridnumber)plt.legend()plt.show()目前b1和b2相互重叠
importmatplotlib.pyplotaspltgridnumber=range(1,4)b1=plt.bar(gridnumber,[0.2,0.3,0.1],width=0.4,label="Bar1",align="center")b2=plt.bar(gridnumber,[0.3,0.2,0.2],color="red",width=0.4,label="Bar2",align="center")plt.ylim([0,0.5])plt.xlim([0,4])plt.xticks(gridnumber)plt.legend()plt.show()目前b1和b2相互重叠
我使用Python2.7和matplotlib。我有一个*.txt数据文件:014-11-2003115-03-19991204-12-20123309-05-20074416-08-19985525-07-20017631-12-20118725-06-199311816-02-199511910-02-198114503-05-2014我的文件的第一列(数字)应该在我的条形图中的Y轴上,我的文件的第二列(日期)应该在我的直方图中的轴OX上。我只知道如何读取文件:OX=[]OY=[]try:withopen('data.txt','r')asopenedFile:forlineino