python绘制横向水平柱状条形图Bar
import matplotlib import random import matplotlib.pyplot as plt # 中文乱码和坐标轴负号处理。 matplotlib.rc('font', family='SimHei', weight='bold') plt.rcParams['axes.unicode_minus'] = False #城市数据。 city_name = ['北京', '上海', '广州', '深圳', '成都'] #数组反转。 city_name.reverse() #装载随机数据。 data = [] for i in range(len(city_name)): data.append(random.randint(100, 150)) #绘图。 fig, ax = plt.subplots() b = ax.barh(range(len(city_name)), data, color='#6699CC') #为横向水平的柱图右侧添加数据标签。 for rect in b: w = rect.get_width() ax.text(w, rect.get_y()+rect.get_height()/2, '%d' % int(w), ha='left', va='center') #设置Y轴纵坐标上的刻度线标签。 ax.set_yticks(range(len(city_name))) ax.set_yticklabels(city_name) #不要X横坐标上的label标签。 plt.xticks(()) plt.title('水平横向的柱状图', loc='center', fontsize='25', fontweight='bold', color='red') plt.show()
讯享网
运行结果:

可以简单的绘制一个水平横向的柱状图:
讯享网import matplotlib.pyplot as plt import random import matplotlib matplotlib.rc('font', family='SimHei', weight='bold') city_name = ['北京', '上海', '广州', '深圳', '成都'] city_name.reverse() data = [] for i in range(len(city_name)): data.append(random.randint(100, 200)) colors = ['red', 'yellow', 'blue', 'green', 'gray'] colors.reverse() plt.barh(range(len(data)), data, tick_label=city_name, color=colors) #不要X横坐标标签。 #plt.xticks(()) plt.show()
输出结果如图:


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/64684.html