Python如何绘制可视化图?给你一段代码,你能自己做出来吗
程序员文章站
2022-05-12 22:28:55
...
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途
没有数据生成的图像:
载入数据之后:
在学习过程中有什么不懂得可以加我的
python学习扣扣qun,784758214
群里有不错的学习****、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
#时间序列趋势图
import csv import matplotlib import numpy as np import pandas as pd from datetime import datetime from matplotlib import pyplot as plt #读取CSV文件数据
file1='D:\\数据.csv'
for file2 in file1: print('读取文件: %s ' % file2) try:
with open(file1) as f: #打开这个文件,并将结果文件对象存储在f中
reader=csv.reader(f) #创建一个阅读器reader
header_row=next(reader) #返回文件中的下一行
date,r,VaR=[],[],[] #声明存储日期,最值的列表
for row in reader:
date1=datetime.strptime(row[0],'%Y/%m/%d') #将日期数据转换为datetime对象
date.append(date1) #存储日期
r1=float(row[3]) #将字符串转换为数字
r.append(r1) #存储温度最大值
VaR1=float(row[2])
VaR.append(VaR1) #存储温度最小值
except Exception as e: print('读取错误 ', file2, ':', e)
zhfont1 = matplotlib.font_manager.FontProperties\
(fname="D:\\simhei.ttf") #定义字体
matplotlib.rcParams['axes.unicode_minus']=False #解决负号'-'显示为方块的问题
#绘制图像
fig=plt.figure(dpi=128,figsize=(8,5))
plt.plot(date,r,label='r',linewidth=2,c='blue',alpha=1)#实参alpha指定颜色的透明度,0表示完全透明,1(默认值)完全不透明
plt.plot(date,VaR,'--',label='95%VaR',c='m',linewidth=2,alpha=1)
plt.fill_between(date,r,VaR,facecolor='blue',alpha=0.1) #给图表区域填充颜色
plt.title("差分收益率及其风险值时间序列趋势图",fontproperties=zhfont1,fontsize=12) #图坐标设置
plt.xlabel("时间 ",fontproperties=zhfont1,fontsize=10)
plt.ylabel("数值",fontproperties=zhfont1,fontsize=10)
plt.tick_params(axis='both',which='major',labelsize=10)
plt.legend() #图例显示
fig.autofmt_xdate() #绘制斜的日期标签
plt.grid(True) # 添加网格,true 首字母大写
plt.show() #显示图像