1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python对比柱状图_python 绘制分组对比柱状图

python对比柱状图_python 绘制分组对比柱状图

时间:2023-03-29 00:05:06

相关推荐

python对比柱状图_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,0], #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

[, 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)

以上所有代码在python3.6.4上运行测试成功

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。