Fork me on GitHub

daydayup863

人生就像一杯茶,不会苦一辈子,但总会苦一阵子。

0%

python 生成折线图

使用python代码将csv中的数据生成折线图

文件a.csv

1
2
3
4
5
6
7
8
9
10
version,tps_100,tps_200,tps_500,tps_800,tps_1000,tps_1500
PG9.1,129234,123595,100719,88781,85623,78129
PG9.2,205936,265149,325218,274251,257437,221549
PG9.3,182616,217670,321562,279728,262127,235022
PG9.4,472402,450859,333487,277647,261368,235907
PG9.5,472027,429253,323484,270830,253298,230676
PG9.6,502922,457473,320402,270013,254268,233189
PG10,487521,442063,309556,258793,245006,216328
PG11,516258,472281,333883,278169,261994,240222
PG14,527478,493422,348150,297048,280007,262384

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/python
# -*- coding: utf-8 -*-
###################################################################
# File Name: load.py
# Author: taot.jin
# mail: 84660320@qq.com
# Created Time: 20220302
#=============================================================

import csv
import matplotlib.pyplot as plt
import matplotlib
import pandas as pd

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.family']='DejaVu Sans'
plt.rcParams['axes.unicode_minus'] = False

data = pd.read_csv('a.csv')
xdata = []
ydata = []
plt.title(u"PostgreSQL multi-version select-only TPS test",size=10) #设置表名为“表名”
xdata = data.loc[:,'version'] #将csv中列名为“列名1”的列存入xdata数组中
data_100 = data.loc[:,'tps_100'] #将csv中列名为“列名2”的列存入ydata数组中
data_200 = data.loc[:,'tps_200'] #将csv中列名为“列名2”的列存入ydata数组中
data_500 = data.loc[:,'tps_500'] #将csv中列名为“列名2”的列存入ydata数组中
data_800 = data.loc[:,'tps_800'] #将csv中列名为“列名2”的列存入ydata数组中
data_1000 = data.loc[:,'tps_1000'] #将csv中列名为“列名2”的列存入ydata数组中
data_1500 = data.loc[:,'tps_1500'] #将csv中列名为“列名2”的列存入ydata数组中
plt.plot(xdata,data_100,'bo-',label=u'100 connections',linewidth=1, color="blue")
plt.plot(xdata,data_200,'bo-',label=u'200 connections',linewidth=1, color="black")
plt.plot(xdata,data_500,'bo-',label=u'500 connections',linewidth=1, color="skyblue")
plt.plot(xdata,data_800,'bo-',label=u'800 connections',linewidth=1, color="green")
plt.plot(xdata,data_1000,'bo-',label=u'1000 connections',linewidth=1, color="yellow")
plt.plot(xdata,data_1500,'bo-',label=u'1500 connections',linewidth=1, color="red")

# 设置数字标签
for a, b in zip(xdata, data_100):
plt.text(a, b, b, ha='center', va='bottom', fontsize=8)

for a, b in zip(xdata, data_200):
plt.text(a, b, b, ha='center', va='bottom', fontsize=8)

for a, b in zip(xdata, data_500):
plt.text(a, b, b, ha='center', va='bottom', fontsize=8)

for a, b in zip(xdata, data_800):
plt.text(a, b, b, ha='center', va='bottom', fontsize=8)

for a, b in zip(xdata, data_1000):
plt.text(a, b, b, ha='center', va='bottom', fontsize=8)

for a, b in zip(xdata, data_1500):
plt.text(a, b, b, ha='center', va='bottom', fontsize=8)

plt.legend()
plt.xlabel(u'version',size=10) #设置x轴名为“x轴名”
plt.ylabel(u'TPS',size=10) #设置y轴名为“y轴名”
plt.grid(axis="y")
plt.show()

效果图

avatar

-------------本文结束感谢您的阅读-------------
听说,打赏我的人都找到了真爱

欢迎关注我的其它发布渠道