今天小编给大家分享一下python怎么绘制分组对比柱状图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
首先放效果图:
# -*- coding: utf-8 -*- import numpy as np import tensorflow as tf from matplotlib.path import Path from matplotlib.patches import PathPatch import matplotlib.pyplot as plt import matplotlib from matplotlib.animation import FuncAnimation import matplotlib as mpl import datetime import time import re import urllib.request np.set_printoptions(suppress=True) mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体 SimHei为黑体 mpl.rcParams['axes.unicode_minus'] = False #用来正常显示负 import requests import re import hashlib #测试数据 osm的点线面数据 #测试主机 8G 4核 1T机械盘 #mysql 5.7.23 #postgresql 12 #dameng 7 #oracle 19c 19.3 #读取效率 点 线 面 r = [ [24714, 21748, 19298], #Oracle [44127, 45943, 42199], #GDB #[0, 0, 0], #SQLITE # [0, 0, 0], #MySQL [352641, 352739, 304189], #SQLITE [213550, 218095, 212749], #MySQL [36556, 22172, 12741], #PostgreSQL [52749, 46292, 20040], #dameng [25111, 12000, 11000], #ArcGIS_GDB [10102, 9003, 7003] #ArcGIS_ORACLE ] #写入效率 w = [ [190, 675, 40], #Oracle [15815, 9820, 11892], #GDB [94547, 81847, 57235], #SQLITE # [0, 0, 0], #SQLITE [502, 662, 403], #MySQL #[0, 0, 0], #MySQL [1631, 1599, 1502], #PostgreSQL [2004, 1849, 1524], #dameng [10111, 8000, 5600] , #ArcGIS_GDB [1100, 1000, 900] #ArcGIS_ORACLE ] #这是柱图x轴标签 ysr = ['Oracle','GDB','SQLITE','MySQL','PostgreSQL','DAMENG','ArcGIS_GDB','ArcGIS_ORACLE'] def DrawGeoDtaabse(rcount, wcount, y): #第一行 第一列图形 2,1 代表2行1列 ax1 = plt.subplot(2,1,1) #第二行 第一列图形 ax3 = plt.subplot(2,1,2) #默认时间格式 plt.sca(ax1) plt.xlabel("",color = 'r') #X轴标签 plt.ylabel("条/s",color = 'r') #Y轴标签 #plt.grid(True) 显示格网 #plt.gcf().autofmt_xdate() 显示时间 plt.legend() # 显示图例 plt.title("[读取]效率") #标题 x1 = [1,5,9,13,17,21,25,29] # x轴点效率位置 x2 = [i + 1 for i in x1] # x轴线效率位置 x3 = [i + 2 for i in x1] # x轴面效率位置 y1 = [i[0] for i in rcount] # y轴点效率位置 y2 = [i[1] for i in rcount] # y轴线效率位置 y3 = [i[2] for i in rcount] # y轴面效率位置 #占位以免 数据源标签丢失 y0 = ["","","","","","","",""] plt.bar(x1, y1, alpha=0.7, width=1, color='r',label="点", tick_label=y0) plt.bar(x3, y3, alpha=0.7, width=1, color='b',label="面", tick_label=y0) plt.bar(x2, y2, alpha=0.7, width=1, color='g',label="线", tick_label=y) #至此第一行的读取效率绘制完毕,再重复一下第二行的写效率 plt.sca(ax3) plt.xlabel("数据源",color = 'r') #X轴标签 plt.ylabel("条/s",color = 'r') #Y轴标签 #plt.grid(True) plt.legend() # 显示图例 plt.title("[写入]效率") #图标题 y1 = [i[0] for i in wcount] y2 = [i[1] for i in wcount] y3 = [i[2] for i in wcount] y0 = ["","","","","","","",""] plt.bar(x1, y1, alpha=0.7, width=0.6, color='r',label="点", tick_label=y0) plt.bar(x3, y3, alpha=0.7, width=0.6, color='b',label="面", tick_label=y0) plt.bar(x2, y2, alpha=0.7, width=0.6, color='g',label="线", tick_label=y) plt.legend() plt.show() DrawGeoDtaabse(r,w,ysr)
以上就是“python怎么绘制分组对比柱状图”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。