Matplotlib绘图基础之折线图(标普500和富时100指数分析)

个人数据分析学习公众号:genshang

1import matplotlib.pyplot as plt 2import seaborn as sns 3sns.set_theme(style='whitegrid',palette='deep')
1# 读取标普500指数和富时100指数数据 2df_spx500_and_ftse100 = pd.read_csv('line_chart_data.csv') 3# 预览数据样式 4df_spx500_and_ftse100.head(5)

image

1# 此时的Date列为字符串,由于下面需要进行日期比较,所以需要将字符格式转为datetime格式 2# 数据处理:字符 >> 日期格式(通过pd.to_datetime()实现) 3df_spx500_and_ftse100['Date'] = pd.to_datetime(df_spx500_and_ftse100['Date']) 4# 预览格式转换后的结果 5df_spx500_and_ftse100.head(5)

image

1# 设置过滤条件:只显示2010年的指数数据 2year_2010 = (df_spx500_and_ftse100['Date']>='2010-01-01') & (df_spx500_and_ftse100['Date']<='2010-12-31') 3# 生成仅包含2010年数据的新的DataFrame 4df_spx500_and_ftse100_in_2010 = df_spx500_and_ftse100[year_2010] 5# 保证日期升序没错 6df_spx500_and_ftse100_in_2010.sort_values(by='Date',inplace=True) 7# 预览效果 8df_spx500_and_ftse100_in_2010.head(10)

image

1legend_labels = ['GSPC500','FTSE100'] 2plt.figure(figsize=(20,10)) 3# 分别绘制两条线 4plt.plot(df_spx500_and_ftse100_in_2010['Date'],df_spx500_and_ftse100_in_2010['GSPC500']) 5plt.plot(df_spx500_and_ftse100_in_2010['Date'],df_spx500_and_ftse100_in_2010['FTSE100']) 6# 设置标题 7plt.title('S&P 500 & FTSE 100',fontsize=24, fontweight = 'bold') 8# 设置图例 9plt.legend(labels = legend_labels, loc='best', fontsize=18) 10plt.show()

image

1import datetime 2from dateutil.relativedelta import relativedelta 3# 生成X轴刻度:每月1号组成的list 4month_1_list = [datetime.date(2010,1,1)] 5for i in range(1,12): 6 month_1_list.append(datetime.date(2010,1,1) + relativedelta(months=+i)) 7month_1_list.append(datetime.date(2010,12,31)) 8# ------------------------------------------------- 9legend_labels = ['GSPC500','FTSE100'] 10plt.figure(figsize=(20,10)) 11plt.plot(df_spx500_and_ftse100_in_2010['Date'],df_spx500_and_ftse100_in_2010['GSPC500'],linewidth=2) 12plt.plot(df_spx500_and_ftse100_in_2010['Date'],df_spx500_and_ftse100_in_2010['FTSE100'],linewidth=2) 13# 自定义X轴刻度:为每月月初(若未特殊指定,则会默认生成轴刻度) 14plt.xticks(ticks=month_1_list,rotation=40,fontsize=14) 15plt.yticks(fontsize=14) 16plt.title('S&P 500 & FTSE 100',fontsize=24, fontweight = 'bold') 17plt.legend(labels = legend_labels, loc='best', fontsize=16) 18plt.show()

image

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

天秀!一张图就能彻底搞定Pandas!

大家好,在三月初,我曾给大家分享过一份Matplotlib绘图小抄,详见昨天在面向GitHub编程时,无意发现了Pandas官方竟提供了同款小抄,项目地址如下https://github.com/pandasdev/pandas/blob/master/doc/cheatsheet/PandasCheatSheet.pdf可以看到这份小抄提供了PPT和P

plotnine: Python版的ggplot2作图库

R语言的ggplot2绘图能力超强,python虽有matplotlib,但是语法臃肿,使用复杂,入门极难,seaborn的出现稍微改善了matplotlib代码量问题,但是定制化程度依然需要借助matplotlib,使用难度依然很大。而且咱们经管专业学编程语言,一直有一个经久不衰的问题\“学数据分析,到底选择R还是Python”。通过plotnine这

python数据分析与可视化——利用Seaborn进行绘图

利用Seaborn进行绘图下面例子中所用数据下载地址——Matplotlib绘图基本模仿MATLAB绘图库,其绘图风格和MATLAB类似。由于MATLAB绘图风格偏古典,因此,Python开源社区开发了Seabo

SpringBoot整合Redis乱码原因及解决方案

问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa

ETF溢价产生原因分析,别买贵了

前几篇分析国外主要指数的文章都提到一点,场内购买指数基金要注意溢价。如果在溢价过高时买入,就亏了。今天来详细说说溢价这个问题,溢价主要产生于场内购买ETF的时候,我们先来了解下ETF。01ETF,即交易型开放式指数基金。它是一种特殊的指数基金,最主要的特点是可交易性,在券商软件里,你可以像买卖股票那样购买ETF份额。和普通指数基金一样