本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章一级AI入门学习 ,作者小伍哥

刚接触Python的新手、小白,可以复制下面的链接去免费观看Python的基础入门教学视频

https://v.douyu.com/author/y6AZ4jn9jwKW

一,可视化概述

在Python中,常见的数据可视化库有3个:

matplotlib:最常用的库,可以算作可视化的必备技能库,比较复杂,api多,学起来不太容易。

seaborn:是重构于matplotlib基础上,可以满足可视化需求,更特殊的需求还是需要学习matplotlib。

pyecharts:上面的两个库都是静态的可视化库,而pyecharts有很好的网络兼容性,可以做到可视化的动态效果。并且种类也比较丰富。这类这个图,就非常厉害:画图神器pyecharts-旭日图

Pandas:而今天要讲的是Pandas的可视化,Pandas主要作为数据分析的库,虽然没有上述三个库那个强大,但是胜在方便,在数据分析的过程中,只要一行代码就能实现。也非常漂亮。

二,直接看案例

熊猫中,有11个比较常见的图形可视化,还有几个比较进阶的,我们一个一个看看怎么画的

import pandas as pd

import numpy as np

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

01,柱状图-初步

df.plot.bar()

stack = True,画堆叠柱状图

df.plot.bar(stacked=True)

02,柱状图-横向

df.plot.barh()

同样,stacked = True,画堆叠柱状图

df.plot.barh(stacked=True)

03,面积图

df.plot.area(alpha = 0.9)

df.plot.area(stacked=True,alpha = 0.9)

04,密度图-kde

df.plot.kde()

05,密度图-density

df.plot.density()

06,直方图

换个数据集

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=200)

df.plot.hist(stacked=True, bins=20)

df= pd.DataFrame(np.random.rand(1000, 4), columns=['A','B','C','D'])

df.diff().hist(color='k', alpha=0.7, bins=50)

07,箱盒图

df= pd.DataFrame(np.random.rand(100, 4), columns=['A','B','C','D'])

df.plot.box()

vert = False也可以换成横向

df.plot.box(vert=False)

08,散点图

df.plot.scatter(x='A',y='B')

09,蜂巢图

df = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])

df['b'] = df['b'] + np.arange(1000)

df.plot.hexbin(x='a', y='b', gridsize=25)

07,饼图

series = pd.Series(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], name='series')

series.plot.pie(figsize=(6, 6))

series.plot.pie(labels=['AA', 'BB', 'CC', 'DD'], colors=['r', 'g', 'b', 'c'],autopct='%.2f', fontsize=20, figsize=(6, 6))

08,矩阵散点图

from pandas.plotting import scatter_matrix

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

scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')

09,安德鲁斯曲线

data = pd.read_csv('C:/Users/wuzhengxiang/Desktop/iris.csv')

pd.plotting.andrews_curves(data , 'Name')

andrews_curves(data, 'Name', colormap='winter')

10,平行坐标图该图也是使用自己加载的iris数据集

from pandas.plotting import parallel_coordinates

parallel_coordinates(data, 'Name', colormap='gist_rainbow')

11,滞后图

from pandas.plotting import lag_plot

df= pd.Series(0.1 * np.random.rand(1000) +

0.9 * np.sin(np.linspace(-99 * np.pi, 99 * np.pi, num=1000)))

lag_plot(df)

12,最大值函数图

直接画图,预设为折线图

df= pd.DataFrame(np.random.rand(12, 4), columns=['A','B','C','D'])

df.plot()

df.plot(subplots=True,layout=(2, 2), figsize=(15, 8))

df= pd.DataFrame(np.random.rand(1000, 4), columns=['A','B','C','D'])

df.plot()

df.plot(subplots=True,layout=(2, 2), figsize=(15, 8))

13,bootstrap_plot

s = pd.Series(np.random.uniform(size=100))

pd.plotting.bootstrap_plot(s)

三,参数详解

1,官方文档

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.html

https://pandas.pydata.org/pandas-docs/version/0.18.1/visualization.html

2,参数介绍

DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False,

sharex=None, sharey=False, layout=None, figsize=None, use_index=True,

title=None, grid=None, legend=True, style=None, logx=False, logy=False,

loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None,

fontsize=None, colormap=None, position=0.5, table=False, yerr=None,

xerr=None, stacked=True/False, sort_columns=False, secondary_y=False,

mark_right=True, **kwds)

注意:每种绘图类型都有相对应的方法:df.plot(kind = 'line' )与df.plot.line()等价

x:标签或位置,默认为None#指数据列的标签或位置参数

y:标签,位置或标签列表,位置,默认值无

种类:str#绘图类型

'line':线图(默认)#折线图

'bar':垂直条形图。条形图。stacked为True时为堆叠的柱状图

'barh':水平条形图

'hist':histogram#直方图(数值频率分布)

'box':boxplot#箱型图

'kde':内核密度估计图#密度图,主要对柱状图添加内核概率密度线

'密度':与'kde'相同

'area':area plot#与x轴所围的区域图(面积图)。Stacked= True时,每列必须全部为正或负值,stacked = False时,对数据没有要求

'pie':pie plot#饼图。数值必须为正值,需指定Y轴或者subplots = True

'scatter':散点图#散点图。需指定X轴Y轴

'hexbin':hexbin图#蜂巢图。需指定X轴Y轴

'hexbin':hexbin图#蜂巢图。需指定X轴Y轴

ax:matplotlib轴对象,默认值None#子图(axes,也可以理解成坐标轴)要在其上进行交易的matplotlib子图对象。如果没有设置,则使用当前matplotlib子图其中,变量和函数通过改变figure和axes中的元素(例如:title,label,点和线等等)一起描述figure和axes,也就是在画布上绘图。

子图:布尔值,默认为False#是否对列分别作子图

sharex:布尔值,默认值为true,如果ax为None False#如果ax为None,则设为为True,否则为False

如果subplots = True,则共享x轴并将一些x轴标签设置为不可见;如果ax为None则默认为True,否则为False。请注意,同时传递ax和sharex = True将更改图形中所有轴的所有x轴标签!

sharey:布尔值,默认为False#如果有子图,子图共y轴刻度,标签

如果subplots = True,则共享y轴并将一些y轴标签设置为不可见

layout:用于子图的元组(行,列)#子图的行列布局

figsize:以英寸为单位的元组(宽度,高度)

use_index:布尔值,默认为True

title:字符串#图片的标题用字符串

地块标题

grid:布尔值,默认值None#图片是否有网格

legend:False / True /'reverse'#子图的图例(交替为True)

样式:列表或字典#对每列折线图设置线的类型

logx:布尔值,默认为False。

类型:布尔值,默认为False

loglog:布尔值,默认为False#同时设置x,y轴刻度是否取对数

xticks:sequence#设置x轴刻度值,序列形式(某些列表)

yticks:sequence#设置y轴刻度,序列形式(几种列表)

xlim:float / 2-tuple / list#设置坐标轴的范围。数值(变量),列表或元组(区间范围)

ylim:浮点数/ 2元组/列表

rot:int,默认值None#设置轴标签(轴刻度)的显示旋转度数

fontsize:int,默认值None#设置轴刻度的字体大小

colormap:str或matplotlib colormap对象,默认值为None。

colorbar:布尔值,可选#柱子颜色

如果为True,则绘制颜色条(仅与“散布”图和“六边形”图有关)

position:float#条形图的对齐方式,取值范围[0,1],即左下端到右上端替换0.5(中间对齐)

layout:tuple(可选)#布局。layout=(2,3)两行三列,layout =(2,-1)两行自适应列数

例如。df.plot(subplots = True,layout =(2,-1),sharex = False)

table:布尔值,Series或DataFrame,默认为False#图下添加表。如果为True,则使用DataFrame中的数据图表,并且数据将被旋转放置到matplotlib的布局。。

yer:DataFrame,Series,类数组,dict和str

有关详细信息,请参见使用误差线绘图。

xerr:与yerr相同的类型。

堆叠:布尔值,线形图和条形图默认为False,面积图为True。如果为True,则创建堆积图。#前面有介绍

sort_columns:布尔值,默认值为False。

secondary_y:布尔值或序列,默认为False#设置第二个y轴(右辅助y轴)

是否在次要y轴上绘制如果是 列表/元组,则在次要y轴上绘制哪些列

mark_right:布尔值,默认为True

python数据可视化库 动态的_Python数据可视化:Pandas库,只要一行代码就能实现...相关推荐

  1. python数据可视化库 动态的_Python数据可视化:Pandas库,要是一行代码就能完成...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章一级AI入门学习 ,作者小伍哥 刚接触Python的新手.小白,可以复制下面的链接去免费观 ...

  2. python数据可视化库 动态的_python --数据可视化(一)

    add() 主要方法,用于添加图表的数据和设置各种配置项 show_config() 打印输出图表的所有配置项 render() 默认将会在根目录下生成一个 render.html 的文件,支持 pa ...

  3. 通过爬取天猫商品评论实例分析Python爬取ajax动态生成的数据

    本文主要通过爬取天猫商品kindle的评论为例来说明利用python爬取ajax动态生成的数据的方式,本文使用的工具如下: 工具 chrome浏览器[寻找评论的动态链接] python3.5[执行代码 ...

  4. python绘制不带颜色曲线图_Python数据可视化库-Matplotlib——折线图,子图绘制

    # coding:utf-8 import pandas as pd import numpy as np from matplotlib import pylab as plt # 导入数据可视化库 ...

  5. python折线图怎么添加数值_Python数据可视化:如何创建曲线图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 用matplotlib生成基本图形非常简单,只需要几行代码,但要创建复杂的图表,需要调用更多的命令和反复试验,这要求用 ...

  6. python作中国地图背景气泡图_Python数据可视化:香港地图、房价可视化,绘制气泡图...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于DataCharm ,作者宁海涛 前言 今天的推文教程使用geopandas进行空间 ...

  7. python制作股票图表怎么看_Python 数据可视化实战:使用 PyQt5 和 Echarts 打造股票数据看板...

    在一篇论文中,最吸引审稿人目光的莫过于枯燥的文字间精美的图表 在一份项目路演 ppt 中,酷炫的财务报表往往是打动投资人的最后一剂强心剂 作为数据分析最后也是最直接的一环,数据可视化的重要性不言而喻 ...

  8. python中噪音是什么意思_Python数据噪音

    数据处理涉及以各种格式处理数据,例如合并,分组,连接等,以便分析或准备将其与另一组数据一起使用. python具有内置函数功能,可将这些争议方法应用于各种数据集以实现分析目标. 在本章中,我们将看几个 ...

  9. python爬虫之Ajax动态加载数据抓取--豆瓣电影/腾讯招聘

    动态加载数据抓取-Ajax 特点 1.右键 -> 查看网页源码中没有具体数据 2.滚动鼠标滑轮或其他动作时加载 抓取 1.F12打开控制台,页面动作抓取网络数据包 2.抓取json文件URL地址 ...

最新文章

  1. C++走向远洋——39(指向学生类的指针)
  2. 初学python,分享一个简单的Excel文档合并工具
  3. python小技巧及速度提高-python编码时有什么技巧可以提升速度?
  4. Python Interview Question and Answers
  5. php里的utf-8编码,php – 修复损坏的UTF-8编码
  6. java calendar_Java Calendar getDisplayNames()方法与示例
  7. android 动态申请权限_你真的了解Android权限机制吗?
  8. Windows update一直停留在正在检查更新,为什么
  9. Selenium 3种等待方式
  10. 【论文写作】网上选课系统中数据库设计模块如何写
  11. pythoncharm设置翻译器_pyCharm 设置调试输出窗口中文显示方式(字符码转换)
  12. Unty中通过镜像优化HDRI全景图体积
  13. 科普丨什么是语言?什么是自然语言?
  14. 重要接口关键词搜索——item_search-按关键字搜索淘宝商品
  15. 一周活动速递|深入浅出第8期;Meetup成都站报名进行中
  16. 东北大学 数据库概论 第三章SQL 习题见解:Find all customers who have an account at all branches located in Brooklyn
  17. 电子科技大学计算机学刘峰林,康昭 - 电子科技大学 - 计算机科学与工程学院
  18. TypeError: __new__() missing 1 required positional argument: ‘exemplar‘
  19. SQL学习之决胜秋招
  20. 局域网内网地址暴露到公网-内网穿透

热门文章

  1. mysql user表添加记录_《MySQL数据操作与查询》- 返校复习课练习题,创建数据库user_system,创建数据表user及user_ext...
  2. linux ping IP地址与telnet 测试IP端口
  3. python中选择结构通过什么语句实现_Python中选择结构通过什么语句实现
  4. C语言怎么筛选偶数出来,在excel里如何自动筛选出偶数值
  5. win7计算机睡眠怎么设置方法,win7系统更改(设置)计算机睡眠时间的操作方法...
  6. docker容器重启后数据丢失
  7. java超市管理系统项目,HR的话扎心了
  8. 【响应式Web前端设计】new Option()函数的作用(三区联动)
  9. 【微信小程序企业级开发教程】界面跳转方法总结
  10. 【深度学习入门到精通系列】图片OCR讲解