如何用python绘制灰度直方图_python可视化

基于pandas的内置可视化

基本绘图

Series和DataFrame上的这个功能只是使用matplotlib库的plot()方法的简单包装实现。

%matplotlib inline

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(10,4),index=pd.date_range('2019/04/15',

periods=10), columns=list('ABCD'))

df.plot()

如果索引由日期组成,则调用gct().autofmt_xdate()来格式化x轴,如上图所示。

我们可以使用x和y关键字绘制一列与另一列。

绘图方法允许除默认线图之外的少数绘图样式。 这些方法可以作为plot()的kind关键字参数提供。这些包括 -bar或barh为条形

hist为直方图

boxplot为盒型图

area为“面积”

scatter为散点图

条形图

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])

df.plot.bar()

要生成一个堆积条形图,通过指定:pass stacked=True

import pandas as pd

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])

df.plot.bar(stacked=True)

要获得水平条形图,使用barh()方法

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])

df.plot.barh(stacked=True)

直方图

可以使用plot.hist()方法绘制直方图。我们可以指定bins的数量值。

import pandas as pd

import numpy as np

df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':

np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])

df.plot.hist(bins=20)

要为每列绘制不同的直方图,要用df.plot()

import pandas as pd

import numpy as np

df=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':

np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])

df.hist(bins=20)

箱形图

Boxplot可以绘制调用Series.box.plot()和DataFrame.box.plot()或DataFrame.boxplot()来可视化每列中值的分布。

例如,这里是一个箱形图,表示对[0,1)上的统一随机变量的10次观察的五次试验。

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])

df.plot.box()

区域块图

可以使用Series.plot.area()或DataFrame.plot.area()方法创建区域图形

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])

df.plot.area()

散点图

可以使用DataFrame.plot.scatter()方法创建散点图

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])

df.plot.scatter(x='a', y='b')

饼状图

饼状图可以使用DataFrame.plot.pie()方法创建

import pandas as pd

import numpy as np

df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x'])

df.plot.pie(subplots=True)

Matplotlib可视化

1.matplotlib 安装配置

linux可以通过以下方式安装matplotlib

sudo pip install numpy

sudo pip install scipy

sudo pip install matplotlib

windows墙裂推荐大家使用anaconda

2.一幅可视化图的基本结构

通常,使用 numpy 组织数据, 使用 matplotlib API 进行数据图像绘制。 一幅数据图基本上包括如下结构:Data: 数据区,包括数据点、描绘形状

Axis: 坐标轴,包括 X 轴、 Y 轴及其标签、刻度尺及其标签

Title: 标题,数据图的描述

Legend: 图例,区分图中包含的多种曲线或不同分类的数据

其他的还有图形文本 (Text)、注解 (Annotate)等其他描述

3.画法

下面以常规图为例,详细记录作图流程及技巧。按照绘图结构,可将数据图的绘制分为如下几个步骤:导入 matplotlib 包相关工具包

准备数据,numpy 数组存储

绘制原始曲线

配置标题、坐标轴、刻度、图例

添加文字说明、注解

显示、保存绘图结果

下面是一个包含cos、sin、sqrt函数的完整图像:

3.1导包

会用到 matplotlib.pyplot、pylab 和 numpy

#coding:utf-8

%matplotlib inline

import numpy as np

import matplotlib.pyplot as plt

from pylab import *

3.2准备数据

numpy 常用来组织源数据:

# 定义数据部分

x = np.arange(0., 10, 0.2)

y1 = np.cos(x)

y2 = np.sin(x)

y3 = np.sqrt(x)

#x = all_df['house_age']

#y = all_df['ho

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值