python数据可视化-日期折线图画法

引入

什么是折线图:

      折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。
      在折线图中,类别数据沿水平轴均匀分布,所有值数据沿垂直轴均匀分布。

       以上引用自 百度百科 ,简单来说一般折线图 是以时间作为 X 轴 数据 作为 Y轴,这当然不是固定的,是可以自行设置的。

话不多说~ 进入正题

第一种画法:
 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdate
from matplotlib.pyplot import rcParams 
%matplotlib inline

# 防止中文乱码
rcParams['font.sans-serif'] = 'kaiti'

# 生成一个时间序列 
time =pd.to_datetime(np.arange(0,11), unit='D',
                   origin=pd.Timestamp('2019-01-01'))

# 生成数据
data = np.random.randint(10,50,size=11)
# 创建一个画布
fig = plt.figure(figsize=(12,9))
# 在画布上添加一个子视图
ax = plt.subplot(111)
# 这里很重要  需要 将 x轴的刻度 进行格式化
ax.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))
# 为X轴添加刻度
plt.xticks(pd.date_range(time[0],time[-1],freq='D'),rotation=45)
# 画折线
ax.plot(time,data,color='r')
# 设置标题
ax.set_title('折线图示例')
# 设置 x y 轴名称
ax.set_xlabel('日期',fontsize=20)
ax.set_ylabel('销售量',fontsize=20)

  • 注解
  1. x 轴接收的日期类型 必须是下图:

 

2.关于 pd.to_time() 中的参数 其中 uint = ‘D’ 表示 0~10 中全天 origin=pd.Timestamp(‘2019-01-01’) 表示起源 也就是 从 1月1号开始算起
3.ax.xaxis.set_major_formatter(mdate.DateFormatter(’%Y-%m-%d’)) 如果想要显示 x轴为日期类型 必须使用 格式化 格式化可以自行设置
4.pd.date_range(time[0],time[-1],freq=‘D’) 不要忘记还需要自己手动添加刻度

第二种画法:

import pyecharts.options as opts
from example.commons import  Faker
from pyecharts.charts import Line
import pandas as pd

# 处理一下时间  
start = '2019-01-01'
end = '2019-01-10'
t = pd.date_range(start=start,end=end).tolist()
time_ = []
for i in t:
    i  = str(i)[:-8]
    time_.append(i)

def line_base() -> Line:
    c = (
        Line()
        .add_xaxis(time_)
        .add_yaxis("商家A", np.random.randint(100,400,size=10).tolist())
        .add_yaxis("商家B", np.random.randint(100,400,size=10).tolist())
        .set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例"),
        yaxis_opts=opts.AxisOpts(name='商家销售情况'),
        xaxis_opts=opts.AxisOpts(name='销售日期')
                        
        )
    )
    return c

# 在 jupyter notebook 上渲染
line_base().render_notebook()


ps: 如果觉得链式调用不习惯的话 可以 去 翻看我之前发表的 数据可视化博客 里面有具体的例子~

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中可以使用matplotlib和pandas模块来实现数据折线图折线图常用于展示时间序列数据的趋势。在matplotlib模块中,可以使用plot方法来绘制折线图。当然,也可以使用pandas模块的plot方法来绘制折线图。 下面是使用pandas模块绘制折线图的具体代码示例: ```python import pandas as pd import matplotlib.pyplot as plt # 设置绘图风格 plt.style.use('ggplot') # 处理中文乱码 plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 读取数据 data = pd.read_excel(r'weather.xlsx') # 统计每月的平均最高气温 data = data.pivot_table(index='month', columns='year', values='high') # 绘制折线图 data.plot(kind='line', style=['-', '--', ':']) # 修改坐标轴标签 plt.xlabel('月份') plt.ylabel('气温') # 添加图形标题 plt.title('每月平均最高气温波动趋势') # 显示图形 plt.show() ``` 通过以上代码,可以绘制出每月平均最高气温的折线图,其中每年的数据使用不同的线条样式进行区分。这样可以更直观地展示出数据的变趋势。 更多关于使用matplotlib模块绘制折线图的详细信息,可以参考Matplotlib的官方文档。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python数据的例子——折线图(line)](https://blog.csdn.net/weixin_48615832/article/details/108466201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [001 Python数据折线图](https://blog.csdn.net/qixinxiangshicheng/article/details/129480075)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佩奇搞IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值