图例负号乱码的问题

import numpy as np  
import matplotlib.pyplot as plt
import  matplotlib
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

需要读取数据模板文件,格式如下,首先是后续要显示的名称,然后是成本价、净值,使用【/】分隔

建信50 | 0.8502/0.8499/0.8496    | 0.8263/0.8239/0.8253 | 0.0260/0.0246
富国中正红利 | 1.1273/1.1270/1.1263 | 1.1030/1.1040/1.0960 | 0.0230/0.0310
景顺中正500 | 0.9798/0.9792/0.9780 | 0.9271/0.9250/0.9149 | 0.0542/0.0643
前海开源人工智能 | 1.0665/1.0653/1.0625 |0.9930/0.9890/0.9870 | 0.0763
易方达创业板 | 1.6463/1.6452/1.6434 | 1.5368/1.5377/1.5233 | 0.1075
南方价值混合C|1.0843/1.0837/1.0819 | 1.0520/1.0520/1.0490 | 0.0317
# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import matplotlib font = {
'family' : 'SimHei'
}
matplotlib.rc('font', **font) ["","NFYXJZHHC","南方优选价值混合C","混合型","NANFANGYOUXUANJIAZHIHUNHEC"]
["","FGZZHLZSZQ","富国中证红利指数增强","股票指数","FUGUOZHONGZHENGHONGLIZHISHUZENGQIANG"]
["","JSZZ500HYZXDBD","景顺中证500行业中性低波动","股票指数","JINGSHUNZHONGZHENG500HANGYEZHONGXINGDIBODONG"]
["","QHKYRGZNZTHH","前海开源人工智能主题混合","混合型","QIANHAIKAIYUANRENGONGZHINENGZHUTIHUNHE"]
["","YFDCYBETFLJC","易方达创业板ETF联接C","联接基金","YIFANGDACHUANGYEBANETFLIANJIEC"]
["","JXYS50","建信央视50","股票指数","JIANXINYANGSHI50"]
i=1
index=321
subIndex=321
def calc(value):
global index
day="6-1,6-2,6-3".split(',')
#v="建信50 | 0.8502/0.8499/0.8496 | 0.8263/0.8239/0.8253 | 0.0260/0.0246".split('|')
v=value.split('|')
name=v[0]
myValue=[]
for m in v[1].split('/'):
myValue.append(float(m))
curValue=[]
for m in v[2].split('/'):
curValue.append(float(m))
z=[]
#整理差值数据
for i in range(len(day)):
z.append((myValue[i]-curValue[i])*10) plt.figure(1)
plt.subplot(index)
plt.plot(day, myValue, color = 'blue', linewidth = 2.0, linestyle = '-',label="持仓成本价")
plt.plot(day, curValue, color = 'red', linewidth = 2.0, linestyle = '--',label="当前净值")
plt.legend() #显示上面的label
plt.title(name) #添加标题 plt.figure(2)
plt.subplot(index)
plt.plot(day, z, color = 'red', linewidth = 2.0, linestyle = '-',label="差值")
plt.legend() #显示上面的label
plt.title(name+"差值") #添加标题
index=index+1
return z def sub(name,value):
plt.figure(1)
plt.subplot(index)
index=index+1 plt.plot(day, value, color = 'red', linewidth = 2.0, linestyle = '-',label="差值")
plt.legend() #显示上面的label
plt.title(name+"差值") #添加标题 with open("./a.txt",'r', encoding='UTF-8') as file:
for line in file:
z=calc(line)
name=(line.split('|'))[0]
#print(name)
plt.show()

py matplotlib 多个figure同时画多个图以及多个图例多个折线图的更多相关文章

  1. matplotlib的使用--折线图--入门

    目录 matplotlib应用介绍 一天天气变化图 两小时随机温度图 中文显示问题 个人交往统计图 多人交往统计图 总结 介绍: 举个例子(一天天气变化图): 假设一天中每隔两个小时(range(2, ...

  2. python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  3. 用matplotlib.pyplot画简单的折线图,直方图,散点图

    #coding=utf-8 """ 用matplotlib.pyplot画简单的折线图,直方图,散点图 """ import matplot ...

  4. Matplotlib学习---用matplotlib画折线图(line chart)

    这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevd ...

  5. Matplotlib中plot画点图和折线图

    引入: import matplotlib.pyplot as plt 基本语法: plt.plot(x, y, format_string, **kwargs) x:x轴数据,列表或数组,可选 y: ...

  6. python用matplotlib画折线图

    折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...

  7. 06. Matplotlib 2 |折线图| 柱状图| 堆叠图| 面积图| 填图| 饼图| 直方图| 散点图| 极坐标| 图箱型图

    1.基本图表绘制 plt.plot() 图表类别:线形图.柱状图.密度图,以横纵坐标两个维度为主同时可延展出多种其他图表样式 plt.plot(kind='line', ax=None, figsiz ...

  8. Python开发【模块】:matplotlib 绘制折线图

    matplotlib 1.安装matplotlib ① linux系统安装 # 安装matplotlib模块 $ sudo apt-get install python3-matplotlib # 如 ...

  9. python中matplotlib绘图封装类之折线图、条状图、圆饼图

    DrawHelper.py封装类源码: import matplotlib import matplotlib.pyplot as plt import numpy as np class DrawH ...

随机推荐

  1. MySQL数据库 、数据表、数据的增删改查简版

    数据库操作 # 增 CREATE(DATABASE | SCHEMA)[IF NOT EXISTS] db_name [[DEFAULT] CHARACTER SET[=]charset_name] ...

  2. zabbix 自定义Key (六)

    1.在zabbix_agent端zabbix_agentd.conf配置文件中增加自定义Key(/usr/local/zabbix_agent/etc/zabbix_agentd.conf) ### ...

  3. Hive动态分区和分桶(八)

    Hive动态分区和分桶 1.Hive动态分区 1.hive的动态分区介绍 ​ hive的静态分区需要用户在插入数据的时候必须手动指定hive的分区字段值,但是这样的话会导致用户的操作复杂度提高,而且在 ...

  4. Cubase如何进行音频移调

  5. zencart1.5.x版管理员密码90天到期后台进入不了的解决办法

    zencart1.5.x版管理员密码90天到期后如果不想更改密码,可以直接在数据库运行以下sql语句. 将pwd_last_change_date(密码最后变换日期)2014-11-11 11:11: ...

  6. java8学习之Lambda表达式深入与流初步

    Lambda表达式深入: 在上一次[http://www.cnblogs.com/webor2006/p/8135873.html]中介绍Lambda表达式的作用时,其中说到这点: 如标红处所说,既然 ...

  7. 第八章 watch监听 83 名称案例-使用watch监听文本框数据的变化

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. hive日期函数-原生函数(二)

    1. from_unixtime 日期函数UNIX时间戳转日期函数: from_unixtime 语法:from_unixtime(bigint unixtime[, stringformat]) 返 ...

  9. 3 触发器报警-->远程执行命令

    0.需求 上节课我们讲了,触发器报警,发送邮件,这节课主要讲下远程执行命令 流程图如下 item--> triggers-->action--->Email     |——>远 ...

  10. Vue: 购物车数量加减按钮

    效果图: HTML: <div class="label"> <p class="buy_num">购买数量</p> < ...