python组合图绘制

python组合图绘制

疫情严重,在家看论文,突然发现了一种组合的图像挺有意思,记录在此。本次绘制利用python进行,主要绘制两张图。先让我们看看效果。
在这里插入图片描述
在这里插入图片描述

柱状累计图与折线图的绘制

主要用到的库有pandas、numpy、matplotlib、seaborn。
首先,导入包,对图像风格和字体做一定调整,由于是英文论文中的图,所以选用Times New Roman字体。然后对输出图像大小进行调整,由于画的图的x轴为月份,所以预先给定,最后导入y数据。

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
from pylab import *
sns.set(style="ticks")
mpl.rcParams['font.sans-serif'] = ['Times New Roman']   # 调整图像字体
# Initialize the matplotlib figure
f, ax = plt.subplots(figsize=(10,6))
x = np.array([1,2,3,4,5,6,7,8,9,10,11,12])

# Load the example car crash dataset
data = pd.read_excel(r"E:\python idea\photo\tu.xlsx",sheet_name="张掖配水")
data2 = pd.read_excel(r"E:\python idea\photo\tu.xlsx",sheet_name="临高配水")
data3 = pd.read_excel(r"E:\python idea\photo\tu.xlsx",sheet_name="临高最终")
data4 = pd.read_excel(r"E:\python idea\photo\tu.xlsx",sheet_name="张掖最终")
data5 = pd.read_excel(r"E:\python idea\photo\tu.xlsx",sheet_name="梨园河最终")
data6 = pd.read_excel(r"E:\python idea\photo\tu.xlsx",sheet_name="莺落峡")
data7 = pd.read_excel(r"E:\python idea\photo\tu.xlsx",sheet_name="正义峡")

  • 堆叠图1

接下来绘制堆叠图的第一个部分。seaborn和matplotlib的绘制原理不同,seaborn绘制时需要把柱状堆叠图的数据先加起来,绘制一个总量的图,然后采用浅色进行修饰,以便和第二个部分的柱状图进行区分,因为第二个堆叠图的起点和第一个是一样的。而matplotlib则是采用相加的方式,也就是第二个部分的堆叠图是画在第一个部分结束的位置上的。两种方法效果相同,seaborn比matplotlib更简洁,但是在叠加折线图时不太好用,所以我选择了matplotlib进行组合图绘制,如果只绘制堆叠图,则利用seaborn即可。

plt.gca().twinx			#组合图绘制需要,先抓一个子图
# Plot the total crashes
# 1. 绘制第一部分
# 第一个为seaborn绘制,比较简单,palette为选取调色板,hue为数据分类,saturation为饱和度,这个代码绘制出来的是总量。由于seaborn不能控制x的位置,所以再叠加折线图比较麻烦(暂时没找到办法)
# sns.barplot
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值