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

genshang
• 阅读 274

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

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

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

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

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

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

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

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

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

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

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

点赞
收藏
评论区
推荐文章
Karen110 Karen110
3年前
天秀!一张图就能彻底搞定Pandas!
大家好,在三月初,我曾给大家分享过一份Matplotlib绘图小抄,详见昨天在面向GitHub编程时,无意发现了Pandas官方竟提供了同款小抄,项目地址如下https://github.com/pandasdev/pandas/blob/master/doc/cheatsheet/PandasCheatSheet.pdf可以看到这份小抄提供了PPT和P
Karen110 Karen110
3年前
plotnine: Python版的ggplot2作图库
R语言的ggplot2绘图能力超强,python虽有matplotlib,但是语法臃肿,使用复杂,入门极难,seaborn的出现稍微改善了matplotlib代码量问题,但是定制化程度依然需要借助matplotlib,使用难度依然很大。而且咱们经管专业学编程语言,一直有一个经久不衰的问题\“学数据分析,到底选择R还是Python”。通过plotnine这
黎明之道 黎明之道
3年前
python数据分析与可视化——利用Seaborn进行绘图
利用Seaborn进行绘图下面例子中所用数据下载地址——Matplotlib绘图基本模仿MATLAB绘图库,其绘图风格和MATLAB类似。由于MATLAB绘图风格偏古典,因此,Python开源社区开发了Seabo
CuterCorley CuterCorley
3年前
Python数据分析实战(3)Python实现数据可视化
一、数据可视化介绍数据可视化是指将数据放在可视环境中、进一步理解数据的技术,可以通过它更加详细地了解隐藏在数据表面之下的模式、趋势和相关性。Python提供了很多数据可视化的库:matplotlib是Python基础的画图库,官网为,在案例地址中介绍了很多种类的图和代码示例。pandas是在matplotlib的基础上实现
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
ETF溢价产生原因分析,别买贵了
前几篇分析国外主要指数的文章都提到一点,场内购买指数基金要注意溢价。如果在溢价过高时买入,就亏了。今天来详细说说溢价这个问题,溢价主要产生于场内购买ETF的时候,我们先来了解下ETF。01ETF,即交易型开放式指数基金。它是一种特殊的指数基金,最主要的特点是可交易性,在券商软件里,你可以像买卖股票那样购买ETF份额。和普通指数基金一样
Stella981 Stella981
3年前
40000字 Matplotlib 实操干货,真的全!
公众号关注“杰哥的IT之旅”,选择“星标”,重磅干货,第一时间送达!!(https://oscimg.oschina.net/oscnet/3a4def4b3c30466192e95b70e45f8a26.jpg)来源:Github导读Matplotlib是一个Python
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
mysql操作以及笔记
createtablemydb(idinauto\_incrementprimarykeynotnull,pricevarchar(10),titlevarchar(100),detailvarchar(500),urlvarchar(50),seller\_idvarchar(50);LOA
Stella981 Stella981
3年前
Python_每日习题_0003_完全平方数
题目一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:n0while(n1)2nn<168:n1
genshang
genshang
Lv1
个人数据分析学习公众号:genshang
文章
1
粉丝
0
获赞
0
热门文章

暂无数据