python导出数据顿号做分隔符_Python语言和matplotlib库做数据可视化分析

这是我的第51篇原创文章,关于数据可视化分析。

阅读完本文,你可以知道:

1 Python语言的可视化库—matplotlib?

2 使用matplotlib实现常用的可视化?

0前言

数据记者和信息设计师,David McCandless,在他的TED演讲中谈到数据可视化的重要性时说过,“通过信息可视化,我们把它变成了一个你可以用眼睛探索的风景,一幅信息地图。当你迷失在信息中时,信息地图是很有用的。

数据可视化分析可以提供许多数据不能够提供的洞见。Python语言拥有一些优秀的数据可视化工具。matplot库是Python语言基础的数据可视化库,可以设计和实现许多基础的绘图类型。

aa578959a86e582e2cbf16ef5320c85c.png

1matplotlib库

matplotlib库是Python语言最流行和基础的数据可视化库,是一个二维图形库。它是Python社区中广泛使用的绘图库,已经有数十年的历史了。它功能强大,并提供了跨平台的交互式环境。matplotlib可用于Python脚本,Python和IPython Shell、Jupyter notebook 和 Web 应用服务程序。它是一个非常通用的可视化库,只需要几行代码,就可以生成柱状图、直方图、功率谱图、散点图、误差图、饼图和许多其他类型的图。关于matplotlib的详细介绍和学习,可以查阅它的官方网址。

matplotlib的网址:

https://matplotlib.org/

2matplotlib库做数据可视化

0 准备工作

0.1 导入matplotlib库的函数

代码片段

# 导入matplotlib库所需的函数集
import matplotlib.pyplot as plt

0.2 绘图的模板,显示和保存

代码片段

# 绘图的通用格式
plt.plot(...)
# 绘图结果的显示
plt.show()
# 绘图结果的保存
plt.savefig('my_img.png')

1 常用可视化

1.1 线状图(Line Plot)

代码片段

import numpy as np
import matplotlib.pyplot as plt

x = [x * 0.1 for x in range(100)]
y = np.cos(x)

plt.plot(x, y) # 绘制线状图
plt.show() # 显示图形结果

06a7c6cd4588ba669bc29dac2cc55bc4.png

1.2 柱状图(Bar Chart)

代码片段

from random import seed
from random import randint
import matplotlib.pyplot as plt

seed(1234)
x = ['A', 'B', 'C']
y = [randint(0, 100), randint(0, 100), randint(0, 100)]

plt.bar(x, y) # 画柱状图
plt.show()

bc24a2a76816f0535bec16d6fbd97407.png

1.3 直方图

代码片段

from numpy.random import seed
from numpy.random import randn

import matplotlib.pyplot as plt

seed(1234)
#高斯分布生成随机数
x=randn(1000)

#生成直方图
plt.hist(x)

plt.show()

e9755ad0b7aa7aa5f25463da52f80124.png

1.4 盒箱图

代码片段

from numpy.random import seed
from numpy.random import randn

import matplotlib.pyplot as plt

seed(1234)

x = [randn(100), 5*randn(100), 10*randn(100)]

# 生成盒箱图
plt.boxplot(x)

plt.show()

fde160b5d6ad3aaf89b88560b11d0cd9.png

1.5 散点图

代码片段

from numpy.random import seed
from numpy.random import randn

import matplotlib.pyplot as plt

seed(1234)

x = 10*randn(100) + 100
y = x + (10*randn(100) + 50)

# 生成散点图
plt.scatter(x, y)

plt.show()

da3489d29a12bfea6e2cbba12969e139.png

1.6 误差图

代码片段

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0.1, 4, 0.5)
y = np.exp(-x)

plt.figure()
plt.errorbar(x, y, xerr=0.2, yerr=0.4)
plt.title(u'简单的误差图', fontproperties='simHei', fontsize=20)
plt.show()

9dd365334ff05052788b1cb38f8bda4f.png

参考网址:

  1. https://matplotlib.org/

  2. https://analyticsindiamag.com/top-5-python-libraries-for-data-visualization/

  3. https://machinelearningmastery.com/data-visualization-methods-in-python/

关于matplotlib做数据可视化,您有什么想法请留言。

需要深入交流和沟通,请加我的微信:luqin360。备注:实名+工作或者专业,否则不会通过。

数据思考与践行

c4225d59e4a515fe5975ab8783b80d22.png

文章推荐

1ggpubr包:生成可出版的图形

2数据可视化分析

3R语言做数据可视化分析

da174fb2887383277b805f8cbba207ee.png你点的每个在看,我都认真当成了喜欢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3 高级语法(一)—— h函数、jsx

一、认识h函数 Vue推荐在绝大数情况下使用模板来创建你的HTML,然后一些特殊的场景,你真的需要JavaScript的完全编程的能力,这个时候你可以使用渲染函数 ,它比模板更接近编译器; 前面我们讲解过VNode和VDOM的改变&#…

Vue3 高级语法(二)—— 自定义指令、Teleport、Vue插件

一、认识自定义指令 在Vue的模板语法中我们学习过各种各样的指令:v-show、v-for、v-model等等,除了使用这些指令之外,Vue也允许我们来自定义自己的指令。 注意:在Vue中,代码的复用和抽象主要还是通过组件;通…

Vue-Router4 学习笔记

一、URL的hash 前端路由是如何做到URL和内容进行映射呢?监听URL的改变。 URL的hash也就是锚点(#), 本质上是改变window.location的href属性; 我们可以通过直接赋值location.hash来改变href, 但是页面不发生刷新; hash的优势就是兼容性更好&am…

Vuex4学习笔记

一、Vuex的状态管理 二、Vuex的安装 我们这里使用的是vuex4.x,安装的时候需要添加 next 指定版本; npm install vuexnext三、创建Store 每一个Vuex应用的核心就是store(仓库): store本质上是一个容器,它…

JS高级——手写call()、apply()、bind()

0、call、apply、bind的区别 bind,call,apply的作用都是用来改变this指向的 call方法 call方法的第一个参数是this的指向 后面传入的是一个参数列表(注意和apply传参的区别)。当一个参数为null或undefined的时候,函数中…

js文章QQ空间分享

<!--示例一--> <div id"ckepop" classfeixiangjias> <a href"javascript:" class"jiathis jiathis_txt jtico jtico_jiathis" target"_blank">分享到&#xff1a;</a> <a class"jiathis_button_qzo…

JS高级——深入剖析函数中的this指向问题

一、this到底指向什么呢&#xff1f; 我们先说一个最简单的&#xff0c;this在全局作用域下指向什么&#xff1f; 这个问题非常容易回答&#xff0c;在浏览器中测试就是指向window 但是&#xff0c;开发中很少直接在全局作用于下去使用this&#xff0c;通常都是在函数中使用…

JS高级——arguments参数详解

一、认识arguments arguments 是一个 对应于 传递函数的参数 的 类数组(array-like)对象。 array-like意味着它不是一个数组类型&#xff0c;而是一个对象类型&#xff1a; 但是它却拥有数组的一些特性&#xff0c;比如说length&#xff0c;比如可以通过index索引来访问&…

php 函数有命名空间吗_解析 ThinkPHP 的命名空间

php中文网最新课程每日17点准时技术干货分享大家都知道由于PHP语法里不支持函数重载机制&#xff0c;如果一个应用里有两个同名的方法&#xff0c;怎么办呢&#xff1f;在Yii 框架为了避免名字重复引起问题&#xff0c;全部的类前边都有 C 字样&#xff0c;而在ThinkPHP里就引入…

JS高级——纯函数、柯里化(手写自动柯里化函数)、组合函数(手写自动组合函数)

一、理解JavaScript纯函数 函数式编程中有一个非常重要的概念叫纯函数&#xff0c;JavaScript符合函数式编程的范式&#xff0c;所以也有纯函数的概念&#xff1b; 在react开发中纯函数是被多次提及的&#xff1b;比如react中组件就被要求像是一个纯函数&#xff08;为什么是…

三包围结构的字是什么样的_拼音带kun的字大全_50个拼音含kun的字组词

原标题&#xff1a;拼音带kun的字大全_50个拼音含kun的字组词1、昆(kūn)&#xff0c;8画&#xff0c;上下结构&#xff0c;部首&#xff1a;曰(日)组词&#xff1a;昆虫(kūn chng) | 昆曲(kūn qǔ) | 昆山(kūn shān) | 昆仲(kūn zhng) | 昆吾(kūn w) | 昆仑(kūn ln) |2…

JS高级——with语句、eval函数、严格模式

一、with语句 with语句的作用&#xff1a;扩展一个语句的作用域链。 不建议使用with语句&#xff0c;因为它可能是混淆错误和兼容性问题的根源。并且&#xff0c;在浏览器开启严格模式下&#xff0c;使用with会报错&#xff1a; 二、eval函数 eval是一个特殊的函数&#x…

JS面向对象——Object.defineProperty

一、JavaScript的面向对象 JavaScript其实支持多种编程范式的&#xff0c;包括函数式编程和面向对象编程&#xff1a; JavaScript中的对象被设计成一组属性的无序集合&#xff0c;像是一个哈希表&#xff0c;有key和value组成&#xff1b;key是一个标识符名称&#xff0c;val…

json字符串和字典类型的相互转换(转载)

转自&#xff1a;http://www.cnblogs.com/YUTOUYUWEI/p/5585863.html 在开发过程中&#xff0c;有时候需要将json字符串转为字典类型&#xff0c;反之亦然&#xff0c;通常采用.Net的开源类库Newtonsoft.Json进行序列化&#xff0c;这里我也是采用这个&#xff0c;不过我更喜欢…

JS高级——对象的原型__proto__、函数的原型prototype、构造函数

一、认识构造函数 我们先理解什么是构造函数&#xff1f; 构造函数也称之为构造器&#xff08;constructor&#xff09;&#xff0c;通常是我们在创建对象时会调用的函数&#xff1b;在其他面向的编程语言里面&#xff0c;构造函数是存在于类中的一个方法&#xff0c;称之为构造…

JS面向对象——原型链、通过原型链实现继承、借用构造函数实现继承

一、JavaScript原型链 在真正实现继承之前&#xff0c;我们先来理解一个非常重要的概念&#xff1a;原型链。 我们知道&#xff0c;从一个对象上获取属性&#xff0c;如果在当前对象中没有获取到就会去它的原型&#xff08;__proto__&#xff09;上面获取&#xff1a; 二、…

JS面向对象——原型式继承函数、寄生式继承函数、寄生组合式继承

一、原型式继承函数 回顾一下JavaScript想实现继承的目的&#xff1a;重复利用另外一个对象的属性和方法. 最终的目的&#xff1a;student对象的原型指向了person对象&#xff1b; 二、寄生式继承函数 寄生式(Parasitic)继承是与原型式继承紧密相关的一种思想, 并且同样由道格…

JS面向对象——Object对象的方法补充、原型继承关系图

一、Object.create() 这个方法用于创建一个新对象。被创建的对象的__proto__指向create函数第一个参数的原型对象prototype&#xff0c;在创建新对象时可以通过create函数第二个参数指定一些属性。 二、Object.hasOwnProperty() 对象是否有某一个属于自己的属性&#xff08…

JS面向对象——class定义类、类的构造函数、实例方法、访问器方法、静态方法、继承、super、多态

一、认识class定义类 我们会发现&#xff0c;按照前面的构造函数形式创建 类&#xff0c;不仅仅和编写普通的函数过于相似&#xff0c;而且代码并不容易理解。 在ES6&#xff08;ECMAScript2015&#xff09;新的标准中使用了class关键字来直接定义类&#xff1b;但是类本质上依…

ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区

一、字面量的增强 ES6中对 对象字面量 进行了增强&#xff0c;称之为 Enhanced object literals&#xff08;增强对象字面量&#xff09;。 字面量的增强主要包括下面几部分&#xff1a; 属性的简写&#xff1a;Property Shorthand方法的简写&#xff1a;Method Shorthand计算…