如何使用seaborn绘制组合图

昨天教程   股评师分析报告文本情感分析预测股价 最后绘制的图片

横坐标都是一样的,我想将价格与情感得分合并到一个图中,这样更方便查看看趋势走势是否一致性。如下图

今日主要是学习如何将共享某一坐标轴的两个图合并到一个图。

实验数据

import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
Month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 
         'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
#create list for made up average temperatures
Avg_Temp = [35, 45, 55, 65, 75, 85, 95, 100, 85, 65, 45, 35]
#create list for made up average percipitation %
Avg_Percipitation_Perc = [.90, .75, .55, .10, .35, .05, .05, .08, .20, .45, .65, .80]
data = {'Month': Month, 
        'Avg_Temp': Avg_Temp, 
        'Avg_Percipitation_Perc': Avg_Percipitation_Perc}
#将字典转为dataframe
df = pd.DataFrame(data)
df

#条形图
plt.title('Average Temperature by Month')
sns.barplot(x='Month', 
            y='Avg_Temp', 
            data=df, 
            palette='summer')

plt.title('Average Percipitation Percentage by Month')
sns.lineplot(x='Month', 
             y='Avg_Percipitation_Perc', 
             data=df, 
             sort=False)

上面两个图横坐标都是month,我们要想办法合并到一个图中。也就是第二个图复制第一个图的横坐标系,在第一个图基础上叠加上折线图

#绘制基础图层
fig, ax1 = plt.subplots(figsize=(10,6))
color = 'tab:green'
ax1.set_title('Average Percipitation Percentage by Month', fontsize=16)
ax1.set_xlabel('Month', fontsize=16)
ax1.set_ylabel('Avg Temp', fontsize=16, color=color)
#第一图条形图
ax1 = sns.barplot(x='Month', y='Avg_Temp', data = df, palette='summer')
ax1.tick_params(axis='y')
#twinx共享x轴(类似的语法,如共享y轴twiny)
ax2 = ax1.twinx()
color = 'tab:red'
#第二个图,折线图
ax2.set_ylabel('Avg Percipitation %', fontsize=16, color=color)
ax2 = sns.lineplot(x='Month', y='Avg_Percipitation_Perc', data = df, sort=False, color=color)
ax2.tick_params(axis='y', color=color)
#显示绘制结果
plt.show()

现在学会了,可以复习下昨天的教程 股评师分析报告文本情感分析预测股价,想办法实现股价与情感分放到一个图中。

近期文章

精选课程 | Python数据分析实战(学术)

代码不到40行的超燃动态排序图

使用Python自动生成事件分析图谱

Loughran&McDonald金融文本情感分析库

使用分析师报告中含有的情感信息预测上市公司股价变动

日期数据操作第1期 datetime库

日期数据操作第2期 pandas库

史上最大规模1.4亿中文知识图谱开源下载

【公开视频课】Python语法快速入门

【公开视频课】ython爬虫快速入门

文本数据分析文章汇总(2016-至今)

当文本分析遇到乱码(ง'⌣')ง怎么办?

当pandas遇上数据类型问题

如何理解pandas中的transform函数

一行pandas代码生成哑变量

Python最被低估的库,用好了效率提升10倍!

课件获取方式,请在公众号后台回复关键词“20191212

觉得本文有用,请不吝点赞评论转发~谢谢支持~

  • 12
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值