python工具方法 5 自定义绘制双纵坐标绘图
2023-09-14 09:15:04 时间
plt绘制双纵坐标绘图,自定义x轴label,y轴单位和字体,并限制x轴的范围
1、代码如下
import numpy as np
import time
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['Times New Roman']
import matplotlib.ticker as mticker
import matplotlib
matplotlib.rcParams['font.family'] = 'sans-serif'
matplotlib.rcParams['font.sans-serif'] = 'NSimSun,Times New Roman'# 中文设置成宋体,除此之外的字体设置成New Roman
#均值、标准差、shape
flow= np.random.normal(100,50,(288))
speed=np.random.normal(30,12,(288))
#为了显示24个刻度
x=np.arange(0,24,24/288)
#自定义字体
font1 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size' : 19,
}
fig,ax1 = plt.subplots(figsize=(14,6))
#设置第一纵坐标轴的单位
ax1.yaxis.set_major_formatter(mticker.FormatStrFormatter('%d km/h'))
#自定义横轴
ax1.set_xticklabels([str(i)+':00' for i in range(0,25,2)], rotation=0, fontsize='x-large')#fontproperties=myfont
#设置横轴 特定x值时显示刻度
ax1.set_xticks([i for i in range(0,25,2)])
ax1.tick_params(labelsize=17)
plt.plot(x,speed,'r',label="traffic speed")
#显示网格
plt.grid(True)
plt.xlabel("time",font1)
plt.ylabel('traffic speed',font1)
#plt.title("This is double axis label")
#设置线标的位置
plt.legend(loc='upper left')
#第二纵轴的设置和绘图
ax2=ax1.twinx()
plt.plot(x,flow,'g',label="traffic flow")
plt.legend(loc='upper right')
ax2.tick_params(labelsize=17)
ax2.set_ylabel("traffic flow",font1)
#限制横轴显示刻度的范围
plt.xlim(0,24)
plt.show()
2,、效果如下
相关文章
- Python之——python-nmap的安装与常用方法说明
- python 报错 most likely due to a circular import 解决方法
- 简介Python设计模式中的代理模式与模板方法模式编程
- python程序员都在用到5个酷毙的Python工具
- 学Python要先学什么?Python入门方法
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
- Python之ffmpeg-python:ffmpeg-python库的简介、安装、使用方法之详细攻略
- Python编程语言学习:包导入和模块搜索路径(包路径)简介、使用方法(python系统环境路径的查询与添加)之详细攻略
- Python IDE之Pydev: 基于Eclipse搭建python的编译环境(Eclipse+pydev)简介、安装、使用技巧方法集合之详细攻略
- Python语言学习之常见语句命令那些事:python和常见语句命令(条件语句、pass语句)使用方法之详细攻略
- Python之fastai:fastai库的简介、安装、使用方法之详细攻略
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 用Python赚钱的5个方法,教你业余时间赚外快!
- 送你一个Python 数据排序的好方法
- 因子分解机 Factorization Machine python 源码
- python基础===getattr()函数使用方法
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- python工具方法 33 基于lossFusion类实现多个loss的集成
- python工具方法27 训练时在线random resize的实现(支持图像分类与语义分割)
- python工具方法 22 基于相对值描述的目标检测标注文件的可视化
- python工具方法 21 应用于语义分割、图像分类、自动编码机的图像随机mask方法(Cutout方法、Random Erasing方法)
- python工具方法 3 numpy多维数组清洗,删除任意维度的数组,仅保留感兴趣的一维数据