python图例重复显示_python – 具有两个标记的多行的自定义图例,用于相同的文本...
我想执行图中所示的图例类型.
这个数字我做了一些技巧只是为了表示我真正想要的东西,所以它没有很好地展示传奇中粉红色标记的颜色.
在图中,圆圈表示相同的参数,但是对于两个不同的模型;三角形和方形标记也是如此.我想将两个圆形标记放在图例的第一行中的相同参数上,类似地放在这个下面的两行上的其他标记上.谢谢.
码:
import matplotlib.pyplot as plt
q1 = [100.0, 60.0, 200.0, 300.0]
NO1 = [0.35799999999999998, 0.33100000000000002, 0.22900000000000001, 0.17799999999999999]
No1 = [0.34599999999999997, 0.29899999999999999, 0.20699999999999999, 0.14999999999999999]
Nb1 = [0.46600000000000003, 0.45600000000000002, 0.27800000000000002, 0.24399999999999999]
q2 = [60.0, 100.0, 200.0, 300.0]
NO2 = [0.44700000000000001, 0.29199999999999998, 0.28299999999999997, 0.253]
No2 = [0.38900000000000001, 0.28499999999999998, 0.311, 0.251]
Nb2 = [0.44, 0.34899999999999998, 0.45900000000000002, 0.39400000000000002]
fig, ax = plt.subplots(figsize = (6,3))
ax.plot(q1, NO1, marker = 'o', markerfacecolor = 'none', markeredgewidth = 1, color = 'gray', linestyle = '', markersize = 8, label = '$N$in parameter a')
ax.plot(q2, NO2, marker = 'o', markerfacecolor = 'none', markeredgewidth = 1, color = 'palevioletred', linestyle = '', markersize = 8)#, label = '$N$in parameter a')
ax.plot(q1, No1, marker = '^', markerfacecolor = 'none', markeredgewidth = 1, color = 'gray', linestyle = '', markersize = 8, label = '$N$in parameter b')
ax.plot(q2, No2, marker = '^', markerfacecolor = 'none', markeredgewidth = 1, color = 'palevioletred', linestyle = '', markersize = 8)#, label = '$N$in parameter b')
ax.plot(q1, Nb1, marker = 's', markerfacecolor = 'none', markeredgewidth = 1, color = 'gray', linestyle = '', markersize = 8, label = '$N$in parameter c')
ax.plot(q2, Nb2, marker = 's', markerfacecolor = 'none', markeredgewidth = 1, color = 'palevioletred', linestyle = '', markersize = 8)#, label = '$N$in parameter c')
#plt.legend(loc='upper right', bbox_to_anchor=(0.945, 1))
plt.xlabel('x')
plt.ylabel('$N$')
plt.xticks([60, 100, 200, 300])
plt.minorticks_on()
plt.tick_params(direction = 'in', bottom = True, top = True, left = True, right = True, which = 'major')
plt.tick_params(direction = 'in', bottom = False, top = False, left = True, right = True, which = 'minor')
解决方法:
您可以使用HandlerTuple处理程序并提供艺术家的元组,以在每行中显示为图例的句柄.
import matplotlib.pyplot as plt
import matplotlib.legend_handler
q1 = [100.0, 60.0, 200.0, 300.0]
NO1 = [0.358, 0.331, 0.229, 0.178]
No1 = [0.346, 0.299, 0.207, 0.15]
Nb1 = [0.466, 0.456, 0.278, 0.244]
q2 = [60.0, 100.0, 200.0, 300.0]
NO2 = [0.447, 0.292, 0.283, 0.253]
No2 = [0.389, 0.285, 0.311, 0.251]
Nb2 = [0.44, 0.349, 0.459, 0.394]
fig, ax = plt.subplots(figsize = (6,3))
prop = dict(markerfacecolor = 'none', markeredgewidth = 1,
linestyle = '', markersize = 8,)
l1, = ax.plot(q1, NO1, marker = 'o', color = 'gray', label = '$N$in parameter a', **prop)
l2, = ax.plot(q2, NO2, marker = 'o', color = 'palevioletred', **prop)
l3, = ax.plot(q1, No1, marker = '^', color = 'gray', label = '$N$in parameter b', **prop)
l4, = ax.plot(q2, No2, marker = '^', color = 'palevioletred', **prop)
l5, = ax.plot(q1, Nb1, marker = 's', color = 'gray', label = '$N$in parameter c', **prop)
l6, = ax.plot(q2, Nb2, marker = 's', color = 'palevioletred', **prop)
handles = [(l1,l2), (l3,l4), (l5,l6)]
_, labels = ax.get_legend_handles_labels()
ax.legend(handles = handles, labels=labels, loc='upper right',
handler_map = {tuple: matplotlib.legend_handler.HandlerTuple(None)})
plt.xlabel('x')
plt.ylabel('$N$')
plt.show()
标签:python,matplotlib,legend
python图例重复显示_python – 具有两个标记的多行的自定义图例,用于相同的文本...相关推荐
- python图例重复显示_python matplotlib图例重复
我有一个直方图的子图.这个plt.图例在底部创建了一个颜色重复的图例.在这部分子图的截图中 "唤醒"与"睡眠-快速眼动"是同一颜色 {1美元^ 如何更改图形和图 ...
- python画图marker显示_python matplotlib 画图刻度、图例等字体、字体大小、刻度密度、线条样式设置...
设置输出的图片大小: figsize = 11,9 figure, ax = plt.subplots(figsize=figsize) 画简单的折线图,同时标注线的形状.名称.粗细: A,=plt. ...
- python sql语句换行_python一行sql太长折成多行并且有多个参数的方法
python一行sql太长折成多行并且有多个参数 sql语句本身就支持多行, 你可以用两种方法断行 注意: 第一种会带入换行符(\n), 第二种只是一行 a='''xxxx本身也可以作为注释使用xxx ...
- python绘制折线图中文图例不显示_python使用matplotlib绘图时图例显示问题的解决...
前言 matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包.在使用Python matplotlib库绘制数据图时,需要使用图例标注数据类别,但是传参时,会出现图 ...
- python去重复排序_Python实现删除排序数组中重复项的两种方法示例
本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...
- python图例重复显示_matplotlib中的图例中有重复项?
下面是一种在正常分配标签后删除重复图例项的方法:representatives=[[[-100,40],[-50,20],[0,0],[75,-5],[100,5]], #made up some d ...
- python判断是否有重复单词_Python判断两个单词的相似度
本文要点在于算法的设计:如果两个单词中不相同的字母足够少,并且随机选择几个字母在两个单词中具有相同的前后顺序,则认为两个单词是等价的. 目前存在的问题:可能会有误判. from random impo ...
- python绘制折线图中文图例不显示_python plb 教程 实现折线图 (令含有 题目,标识,颜色,中文乱码解决)源码...
1 #-*- coding: utf-8 -*- 2 importnumpy as np3 importmatplotlib.pyplot as plt4 importmatplotlib as mp ...
- python图例重复显示_matplotlib中的legend()——用于显示图例
Keyword Description loc a location code prop the font property (matplotlib.font_manager.FontProperti ...
最新文章
- python学习音频-Python学习笔记--音频处理
- 【DIY】可能是最简单便宜的DIY温湿度计,arduino温湿度计
- Dev XtraReport 正在打印弹出框如何隐藏 批量打印 静默打印
- 5 微信公众号开发 获取 access_token
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载...
- LeetCode4 寻找两个正序数组的中位数
- 100小时学习SAP之自学环境(一)
- 【Ad Hoc】贰 AODV 协议详解
- thinkphp5 模板使用php,模板 · ThinkPHP5.1完全开发手册 · 看云
- Flash影片剪辑的属性、深度及动态控制
- PostgreSQL 执行计划与实际成本的偏差
- 自动排课系统V2.0基本完善了
- 用pygame做一个简单的python小游戏---生命游戏
- React中input输入框中文输入的问题
- 【DEBUG】mxs-auart mxs-auart.0: Unhandled status 520080
- lv_canvas 画布
- Kubectl(完整)基本操作命令
- 计算机音乐技术的发展,计算机网络技术对音乐发展的影响探析
- 计算机l特键,计算机(下排键的指法教学、图片的l拉伸、扭曲).doc
- win7安装Scrapy时报错Failed building wheel for Twisted
热门文章
- ex28 布尔表达式练习
- MongoDB 数据恢复与导出
- 使用Travis CI自动部署Hexo博客
- Innobackupx工具命令简单解析
- MRC与ARC混合编程的编译器标记
- 2009 managertool software download..........
- 心理学Notes:常用心理测量工具的选择
- 计算机网络即时通信系统设计_天天玩微信,Spring Boot 开发私有即时通信系统了解一下...
- 让人头皮发麻的KMP的next函数 困扰我三四天后终于解决了
- 安装php 端口被占用,安装phpstudy,APMServ启动服务提示80端口被占用