python 折线图_python时间序列型图表折线图和面积图系列

本文详细介绍了如何使用Python进行折线图和面积图的绘制,包括时间序列型图表的展示,强调了折线图与面积图在趋势分析中的应用,并提供了使用plotnine和matplotlib包绘制多数据系列图表的方法。
摘要由CSDN通过智能技术生成

7905c98ef3823db281f8d27ee8f258d9.png

折线图与面积图系列

时间序列型图表

  • 折线图与面积图系列

  • 折线图

  • 面积图

  • 日历图

  • 量化波形图

折线图

  • 折线图(line chart)用于在连续间隔或时间跨度上显示定量数值;

  • 常用来显示趋势和关系;

  • 主要应用于时间系列数据可视化;

  • 能够体现某些时间段内的整体概览,看看数据在这段时间内的发展情况;

绘制折线图

  • 先在笛卡尔坐标系上定出数据点;

  • 用直线把这些点连接起来;

  • 折线图

  • X轴包括类别型或序数型变量;

  • 分别对应文本坐标轴和序数坐标轴两种类型;

  • Y轴为数值型变量;

面积图

  • 面积图(area graph)又称区域图

  • 是在折线图基础之上形成;

  • 将折线图中折线与自变量坐标轴之间的区域使用颜色或纹理填充

  • 填充区域称为“面积”;

  • 常用来显示趋势和关系;

  • 可以更好突出趋势信息,同时让图表更加美观;

  • 能够体现某些时间段内的整体概览,看看数据在这段时间内的发展情况;

绘制面积图需要注意

  • 颜色要带有一定的透明度;

  • 透明度可以很好观察不同数据序列之间的重叠关系;

  • 避免数据之间遮挡;

  • 数据系列最好不要超过3个;

颜色映射填充面积图

  • 将折线部分的数据点根据Y值颜色映射到颜色渐变主题;

  • 可以更好促进数据信息表达;

  • 只适用于单数据系列面积图;

两条折线间填充面积图

  • 两条折线之间可以使用面积填充,可以清晰观察数据之间的差异变化;

  • 只适用于双数据系列的数值差异比较展示;

折线图和面积图系列的绘制方法

使用plotnine包绘制多数据系列折线图和面积图

  • plotnine包的geom_line()函数可以绘制折线图;

  • geom_area()函数可以绘制面积图;

  • geom_ribbon()函数可以绘制夹层填充面积图

多数据系列图---折线图

import pandas as pd

import numpy as np

from plotnine import *

#from plotnine.data import *

import matplotlib.pyplot as plt

from datetime import datetime

df=pd.read_csv('d:/python/out/LineD.csv')

df['date']=[datetime.strptime(d, '%Y/%m/%d').date() for d in df['date']]#df['date'].map(lambda x:datetime.datetime.strptime(x, '%Y/%m/%d').date())

melt_df=pd.melt(df,id_vars=["date"],var_name='variable',value_name='value')

#多数据系列图. (a)折线图

base_plot=(ggplot(melt_df, aes(x ='date', y = 'value',

group='variable',color='variable') )+

#geom_area(fill="#FF6B5E",alpha=0.75)+

geom_line(size=1)+

scale_x_date(date_labels = "%Y",date_breaks = "2 year")+

scale_fill_hue(s = 0.90, l = 0.65, h=0.0417,color_space='husl')+

xlab("Year")+

ylab("Value")+

theme( axis_title=element_text(size=10,face="plain",color="black"),

axis_text = element_text(size=10,face="plain",color="black"),

legend_position = (0.25,0.8),

legend_background = element_blank(),

aspect_ratio =0.85,

figure_size = (5, 5),

dpi = 100

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于您的问题,我可以回答您的第二个问题,并提供一些有关您第一个问题的信息。 关于Python函数大全,以下是一些常用的Python函数及其用途: 1. matplotlib.pyplot.plot():绘制线条 2. matplotlib.pyplot.scatter():绘制散点 3. matplotlib.pyplot.bar():绘制柱状 4. matplotlib.pyplot.hist():绘制直方 5. matplotlib.pyplot.boxplot():绘制箱线 6. matplotlib.pyplot.imshow():绘制像 7. seaborn.lineplot():绘制线条 8. seaborn.scatterplot():绘制散点 9. seaborn.barplot():绘制柱状 10. seaborn.histplot():绘制直方 11. seaborn.boxplot():绘制箱线 12. seaborn.heatmap():绘制热力 关于您的第一个问题,如果您想用Python每隔一段时间画折线图,您可以使用matplotlib库中的animation模块。以下是一个简单的示例代码: ``` import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation # 生成随机数据 x_data = np.arange(0, 10, 0.1) y_data = np.sin(x_data) # 初始化像 fig, ax = plt.subplots() line, = ax.plot(x_data, y_data) # 更新函数 def update(frame): y_data = np.sin(x_data + frame * 0.1) line.set_ydata(y_data) return line, # 动画函数 ani = FuncAnimation(fig, update, frames=100, interval=50, blit=True) # 显示动画 plt.show() ``` 这个示例代码会每隔50毫秒更新一次折线图,总共更新100次,您可以根据需要调整更新的时间间隔和更新的次数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值