python matplotlib 柱状图x轴xsticks固定顺序(升序、降序)

参考了:https://www.jianshu.com/p/ea0a63a73ffa


# -*- coding: utf-8 -*-
"""
Created on Mon Apr 16 18:12:46 2018

@author: Administrator
"""


import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['axes.unicode_minus']=False #用来正常显示负号
mpl.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签


#画factorData,xstickslabel的名字保存于xaxislabel。
#首先进行排序,如果从小到大排序,argsort参数是直接factorData,如果从大到小排序,使用-factorData。
factorData = np.random.rand(10)
xaxislabel = np.array([str(i) for i in range(10)])
x = xaxislabel[np.argsort(-factorData)]
y = factorData[np.argsort(-factorData)]
plt.figure(figsize=(26,16)) 
plt.xticks(np.arange(len(xaxislabel)), x, rotation=270, fontsize =18)#xticks旋转270度显示
plt.bar(np.arange(len(xaxislabel)), y)
#不会直接画plt(x,y),直接这样画的话横轴的sticklabel的顺序就是根据它的alphabet顺序。
#所以分别对应一个np.arrange画。
plt.ylabel('y轴名称', fontsize =18)
plt.xlabel('x轴名称', fontsize =18)
plt.title('图片标题', fontsize =18)

猜你喜欢

转载自blog.csdn.net/henbile/article/details/79964235