前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas绘图之Series和Dataframe

Pandas绘图之Series和Dataframe

作者头像
慕白
发布2020-01-02 14:36:15
2.3K0
发布2020-01-02 14:36:15
举报

Pandas绘图之Series和Dataframe

一、Series绘图

0x1生成数据并画图

首先生成一个series数据:

import numpy as np import pandas as pd from pandas import Series import matplotlib.pyplot as plt s1 = Series(np.random.randn(10)).cumsum()

123456

import numpy as npimport pandas as pdfrom pandas import Seriesimport matplotlib.pyplot as plts1 = Series(np.random.randn(10)).cumsum()

直接绘制s1的图像:

其中cunsum方法是累加,如图:

0x2 修改图像属性

改变图像类型

kind参数默认为line,表示显示折线图,也可以修改这个参数的值以显示其他类型的图像:

显示格栅

grid参数默认为False,修改其值为True可以在图像中显示格栅:

增加图例和标题

label参数可以指定图像的图例,title参数可以指定图像的标题。指定label后必须执行plt.legend()才能显示图例:

设置图像风格

style可以设置图像线条的风格,虚线、实线、点等:

0x3 在一张图中画两个series数据

在一个图像中

s1 = Series(np.random.randn(10)).cumsum() s2 = Series(np.random.randn(10)).cumsum() s1.plot(kind='line',label='S1',title='This is demo') s2.plot(label='S2') plt.legend()

123456

s1 = Series(np.random.randn(10)).cumsum()s2 = Series(np.random.randn(10)).cumsum()s1.plot(kind='line',label='S1',title='This is demo')s2.plot(label='S2')plt.legend()

通过subplot子图

fig,ax = plt.subplots(2,1) ax[0].plot(s1) ax[1].plot(s2)

1234

fig,ax = plt.subplots(2,1)ax[0].plot(s1)ax[1].plot(s2)

fig,ax = plt.subplots(2,1) s1.plot(ax=ax[0]) s2.plot(ax=ax[1])

1234

fig,ax = plt.subplots(2,1)s1.plot(ax=ax[0])s2.plot(ax=ax[1])

fig,ax = plt.subplots(2,1) s1.plot(ax=ax[0],kind='bar') s2.plot(ax=ax[1])

1234

fig,ax = plt.subplots(2,1)s1.plot(ax=ax[0],kind='bar')s2.plot(ax=ax[1])

二、Dataframe绘图

0x1 生成数据并画图

dataframe本质是多个series组成的,所以对dataframe绘图其实是对多个series同时绘图

import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import Series, DataFrame df = DataFrame(np.random.randint(1,10,40).reshape(10,4),columns=['A','B','C','D']) df.plot()

1234567

import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series, DataFramedf = DataFrame(np.random.randint(1,10,40).reshape(10,4),columns=['A','B','C','D'])df.plot()

每一条折线就是一列。

0x2 改变图形属性

改变线条类型
横向显示柱形图
堆叠显示柱形图
填充的线形图
按行画图

df.iloc[5].plot()

12

df.iloc[5].plot()

for i in df.index: df.iloc[i].plot(label=str(i)) plt.legend() plt.show()

12345

for i in df.index:    df.iloc[i].plot(label=str(i))plt.legend()plt.show()

更简单的方法是先对原始dataframe转置再画图

按列画图
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pandas绘图之Series和Dataframe
    • 一、Series绘图
      • 0x1生成数据并画图
      • 0x2 修改图像属性
      • 0x3 在一张图中画两个series数据
    • 二、Dataframe绘图
      • 0x1 生成数据并画图
      • 0x2 改变图形属性
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档