python绘图多子图 分别美化
通过一个简单的demo了解绘图:
#print(matplotlib.matplotlib_fname())
#print(matplotlib.get_cachedir())from pylab import *
import numpy as np
import matplotlib.pyplot as plt#美化
fig, ax = plt.subplots()
ax.spines['right'].set_visible(False)
ax.spines['left'].set_visible(False)
ax.grid()#数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
c, s = np.cos(x), np.sin(x)#绘图
plt.plot(x, c, label="余弦", color='#33CCCC')
plt.plot(x, s, label="正弦", color='#FF3366')#标签
legend(loc='upper left')#保存
plt.savefig("helloworld.png")
多子图:
import numpy as np
import matplotlib.pyplot as plt
#正确显示中文
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
#获取数据
type_list = ["每个用户请求数", "吞吐率", "用户请求等待时间ms", "请求平均完成时间ms", "网络传输速率",
"服务器响应连接时间ms", "服务器响应处理时间ms", "服务器响应等待时间ms", "服务器响应总耗时ms", "完成90%请求所需时间ms"]
#文件名
ipv444ConFile = "https_ipv4_con_0.txt"
ipv666ConFile = "https_ipv6_con_0.txt"
ipv444PeoFile = "https_ipv4_peo_0.txt"
ipv666PeoFile = "https_ipv6_peo_0.txt"#解析csv文件为矩阵
def getCscMat(fileName):outPut = np.loadtxt(open(fileName, "rb"), delimiter=",", skiprows=0)return outPutdef getMean(varHigh, varLow):meanSum = sum((varHigh - varLow) / varLow) / len(varLow)meanSum = meanSum * 100return format(meanSum, '.2f')if __name__ == "__main__":ipv444ConMat = getCscMat(ipv444ConFile)ipv666ConMat = getCscMat(ipv666ConFile)ipv444PeoMat = getCscMat(ipv444PeoFile)ipv666PeoMat = getCscMat(ipv666PeoFile)#横坐标xConCoor = ipv444ConMat[:,0]xPeoCoor = ipv444PeoMat[:,0]#拟合阶数order = 10#循环for typeIindex in range(1,10):#拟合函数ipv444ConLd = np.poly1d(np.polyfit(xConCoor, ipv444ConMat[:,typeIindex], order))ipv666ConLd = np.poly1d(np.polyfit(xConCoor, ipv666ConMat[:,typeIindex], order))ipv444PeoLd = np.poly1d(np.polyfit(xPeoCoor, ipv444PeoMat[:,typeIindex], order))ipv666PeoLd = np.poly1d(np.polyfit(xPeoCoor, ipv666PeoMat[:,typeIindex], order))#设定纵横比fig = plt.figure(figsize=(16, 7))#获取当前Figurefig = plt.gcf()#在画布上创建子图ax1 = fig.add_subplot(1, 2, 1)ax2 = fig.add_subplot(1, 2, 2)#美化ax1.spines['right'].set_visible(False)ax1.spines['top'].set_visible(False)ax1.grid()#绘制折线图1ax1.plot(xConCoor, ipv444ConLd(xConCoor), color='#33CCCC', label='IPV4')ax1.plot(xConCoor, ipv666ConLd(xConCoor), color='#FF3366', label='IPV6')ax1.set_title('固定请求数100 ' + type_list[typeIindex] + " " + getMean(ipv666ConMat[:,typeIindex], ipv444ConMat[:,typeIindex]) + "%")ax1.set_xlabel("用户数")ax1.set_ylabel(type_list[typeIindex])#美化ax2.spines['left'].set_visible(False)ax2.spines['top'].set_visible(False)ax2.grid()#绘制折线图2ax2.plot(xPeoCoor, ipv444PeoLd(xPeoCoor), color='#33CCCC', label='IPV4')ax2.plot(xPeoCoor, ipv666PeoLd(xPeoCoor), color='#FF3366', label='IPV6')ax2.set_title('固定用户数50 ' + type_list[typeIindex] + " " + getMean(ipv666PeoMat[:,typeIindex], ipv444PeoMat[:,typeIindex]) + "%")ax2.set_xlabel("每个用户请求数")ax2.set_ylabel(type_list[typeIindex])#显示或保存ax1.legend()ax2.legend()plt.savefig(type_list[typeIindex]+".png")#plt.show()
python绘图多子图 分别美化相关推荐
- Python绘图基础:认识绘图区 + subplot创建子图
本小白在用 Python 绘制图形的时候发现可以利用多种代码来完成相同的图形的绘制,今天就给大家分享自己在利用 Python 绘图过程中总结的思路. 话不多说,直接开始 !!! 一.认识绘图区 在绘制 ...
- Python绘图笔记
写在前面: 这是本人学习python绘图所做笔记,具体内容参考CSDN博客.菜鸟教程.知乎等,特别感谢某位低调学长在我Vscode莫名装不好库时所提供的巨大帮助. 零.关于字体 欲设置汉字,需要引入: ...
- python绘图subplots函数使用模板
文章目录 背景 模板 显示中文 使用subplot(221) 使用subplots(2,2) 配合axs end 背景 使用python进行图像可视化,很多情况下都需要subplots将多幅图像绘制在 ...
- python绘图—— matplotlib
python绘图-- matplotlib 1.模块导入 2.折线图绘制 2.1 设置画布大小 2.2画图 2.3 设置显示中文 2.4 设置标题 2.5 设置图例 2.6 设置坐标轴刻度和刻度标签 ...
- python plt调整子图间隔
问题描述: 在绘图时,经常会出现子图之间坐标轴标注之间相互拥挤相互重叠的情况. 解决方法: plt.tight_layout() plt.subplots_adjust(left=None, bott ...
- python绘图时,取消坐标轴的科学计数法显示python绘图模板总结
python绘图,横坐标范围比较大,一百万吧,然后自动就变成了科学计数的形式 然后某大神给出来的解决办法: ax.get_xaxis().get_major_formatter().set_scien ...
- Python绘制高斯分布(正态分布)图像,附python绘图技巧
高斯分布也称为正态分布,其概率密度函数如下: 使用Python绘制正态分布曲线,借助matplotlib绘图工具. 代码如下: # plot Gaussian Function # 注:正态分布也叫高 ...
- Python绘图Matplotlib手册
Python绘图Matplotlib手册 作图函数 使用pip install matplotlib安装绘图库. 作图函数 (1)使用默认参数作图 import numpy as np import ...
- Python绘图总结(Matplotlib篇)
Matplotlib绘图知识点集锦 1.1基础知识篇 绘图背景网格设置 坐标轴颜色.标题大小的设置 ax.tick_params(axis='both',labelcolor='r', labelsi ...
- Python绘图快速上手
准备工作 使用Python绘图首先需要导入需要的库,并确保中文和负号的正常显示 import os import xlrd import pandas as pd import numpy as np ...
最新文章
- IIC总线的时钟同步和总线仲裁
- 宁波城市职业技术学院Linux,宁波城市职业技术学院拟聘用人员公示
- Dominating Patterns
- 危害网站关键词优化的因素如何避免?
- 怎么恢复手机上的照片呢?
- 从原理上搞懂如何设置线程池参数大小?
- python\java\c\解释性语言\编译性语言 程序执行过程
- P1576 最小花费
- html5与css3都要学吗,前端要学css3吗?
- 排序算法之选择法排序(C/C++)
- php - MySQL创建新用户并授权
- 50-00-010-配置-kylin-2.6.0官网配置
- Andirod——网络连接(HttpURLConnection)
- 【汇编语言与计算机系统结构笔记07】条件码,比较、测试、条件跳转与条件转移指令,结合微体系结构与流水的说明
- synchronized 线程同步,添加对象锁与类锁
- 如何编写高质量的程序
- 唐人笔+手写板连接到计算机usb端口+错误,汉王唐人笔如意驱动
- 捷联惯导算法--体会与心得
- ekl中logstash的导入配置
- 学习rtklib(三)
热门文章
- 聊聊rsocket load balancer的Ewma
- 别嘲笑老同志了!网络诈骗,19岁小鲜肉最容易中招
- 为什么学习python、python的安装
- 大象的崛起!Hadoop七年发展风雨录
- 恩施州推进大数据监督检查工作规范化常态化
- 一位同行工作6年的总结
- 如何给linux安装yum,linux如何安装yum
- stm32移植paho_paho.mqtt.c开源代码的ARM移植
- PHPstorm链接服务器自动保存
- ACCESS_REFUSED - operation not permitted on the default exchange