Python如何绘制可视化图?给你一段代码,你能自己做出来吗

时间:2023-03-09 22:12:14
Python如何绘制可视化图?给你一段代码,你能自己做出来吗
Python如何绘制可视化图?给你一段代码,你能自己做出来吗

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利

没有数据生成的图像:

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() #显示图像