Matplotlib是一个强大的Python绘图和数据可视化的工具包。数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值、必要的一些数据转换等。完成数据分析的最终结果也许就是做一个可交互的数据可视化

安装方式: pip install matplotlib

引用方法:import matplotlib.pyplot as plt

一、plot函数(绘制折线图)

  • 线型linestyle(-,-.,--,..)
  • 点型marker(v,^,s,*,H,+,X,D,O,...)
  • 颜色color(b,g,r,y,k,w,...)

# 解决乱码问题(中文不显示)
plt.rcParams['font.sans-serif'] = ['SimHei']

x = [1,2,3]
y = [2,4,9] plt.figure(figsize=(20,6)) #设置画布的大小 plt.title('标题', fontsize=20, color='red') #设置标题
plt.xlabel('x轴', fontsize=15) #设置x轴名称
plt.ylabel('y轴', fontsize=15) #设置y轴名称 # plt.plot?
# plt.plot(x,y, color='green', marker='v', linestyle='--')
plt.plot(x, y) plt.show()

 图像标注

方法 描述  
plt.title() 设置图像标题  
plt.xlabel() 设置x轴名称  
plt.ylabel() 设置y轴名称  
plt.xlim() 设置x轴范围  
plt.ylim() 设置y轴范围  
plt.xticks() 设置x轴刻度  
plt.yticks() 设置y轴刻度  
plt.legend() 设置曲线图例
plt.plot([0,3,9,15,30],linestyle = '-.',color = 'r',marker = 'o',label="A")
plt.plot([1,3,16,23,30],[30,23,13,25,30],label='B')
plt.title("Title") # 标题
plt.xlabel('X') # x轴名称
plt.ylabel('Y') # y轴名称 plt.xticks(np.arange(0,30,2)) # x轴刻度
plt.xlim(-0.2,10,2) # x轴范围
plt.legend() # 曲线图标
plt.show()

 支持的图类型

函数 说明  
plt.plot(x,y,fmt) 折线图  
plt.boxplot(data,notch,position) 箱型图  
plt.bar(left,height,width,bottom) 柱状图  
plt.barh(width,bottom,left,height) 横向柱状图  
plt.polar(theta,r) 极坐标系  
plt.pie(data,explode) 饼图  
plt.psd(x,NFFT=256,pad_to,Fs) 功率谱密度图  
plt.specgram(x,NFFT=256,pad_to,F) 谱图  
plt.cohere(x,y,NFFT=256,Fs) X-Y相关性函数  
plt.scatter(x,y) 散点图  
plt.step(x,y,where) 步阶图  
plt.hist(x,bins,normed) 直方图

二.柱状图

x = movies.index   #索引值
y = movies.values #数据值 plt.figure(figsize=(15,6)) #设置画布大小 plt.bar(x, y, color='blue') #柱状图用bar
plt.title('每个国家或者地区的电影数量') plt.xlabel('国家或地区', fontsize=20)
plt.ylabel('电影数量', fontsize=20)
plt.xticks(rotation=90, fontsize=15) #x轴数据旋转90度 # plt.text?
for a,b in zip(x,y):
plt.text(a, b+100, b, ha='center') #柱状图上面的文字 plt.show()

 三.饼图

饼图是计算某一范围内数据的百分比,那么先要切分统计每个范围内的数据百分比

先切分,使用cut

data = pd.cut(s.astype('float'), [0,60,90,110,1000]).value_counts()

使用pie做饼状图

x = data.index
y = data.values plt.figure(figsize=(10,6))
plt.title('电影时长分布图')
patchs, l_text, p_text = plt.pie(y, labels=x, autopct='%0.2f%%', colors='bgry', startangle=90) for i in p_text:
i.set_size(15)
i.set_color('w') #饼状图内百分比样式设计 for l in l_text:
l.set_size(20)
l.set_color('r') #饼状图外范围设计 plt.show()

四.保存图表

plt.savefig('123.pdf')

数据分析——matplotlib的用法的更多相关文章

  1. matplotlib基本用法-【老鱼学matplotlib】

    本文介绍一下matplotlib的最基本用法. 这次我们要显示一个线性方程的直线. 首先要引入matplotlib库,一般是用plt这个简写的,我们就按照大多数人的惯例来进行命名: import ma ...

  2. python 数据分析 Matplotlib常用图表

    Matplotlib绘图一般用于数据可视化 常用的图表有: 折线图 散点图/气泡图 条形图/柱状图 饼图 直方图 箱线图 热力图 需要学习的不只是如何绘图,更要知道什么样的数据用什么图表展示效果最好 ...

  3. Python数据分析-Matplotlib图标绘制

    Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...

  4. 博学谷-数据分析matplotlib

    博学谷-数据分析 python数学学科的基础 机器学习课程的基础 1.1 介绍 1.2 jupyter和conda 1.3 matplotlib from matplotlib import pypl ...

  5. 数据分析 - Matplotlib

    简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值.必要的一些数据转换等.完成数据分析 ...

  6. 数据分析-numpy的用法

    一.jupyter notebook 两种安装和启动的方式: 第一种方式: 命令行安装:pip install jupyter 启动:cmd 中输入 jupyter notebook 缺点:必须手动去 ...

  7. Python数据分析中Groupby用法之通过字典或Series进行分组

    在数据分析中有时候需要自己定义分组规则 这里简单介绍一下用一个字典实现分组 people=DataFrame( np.random.randn(5,5), columns=['a','b','c',' ...

  8. 数据分析-Matplotlib:绘图和可视化

    学习路线 简介 简单绘制线形图 plot函数 支持图类型 保存图表 1.简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮 ...

  9. matplotlib 高级用法实例--共享x轴

    http://localhost:8888/notebooks/duanqs/matplotlib_advanced_example.ipynb 我不会弄呀, 刚才从matplotlib文档里吧示例用 ...

随机推荐

  1. learning scasl notes

    接收类型参数的类和特质是“泛型”的,但是它们生成的类型是"参数化". ”泛型“的意思是我们用一个泛化的类或特质来定义许许多多具体的类型. 如果说S是类型T的子类型,那么Queue[ ...

  2. requestLayout() improperly called by xxxxxxxxxxxxxxxxxxx ScrollViewContainer 问题

    当scrollview内的内容更改大小时,Scrollview不会自行调整大小.效果是,当内容变小时,内容将留在原来的位置,当内容变大时,无法看到.仅当ScrollView位于作为MasterDeta ...

  3. lettcode 上的几道哈希表与链表组合的数据结构题

    目录 LRU缓存 LFU缓存 全O(1)的数据结构 lettcode 上的几道哈希表与链表组合的数据结构题 下面这几道题都要求在O(1)时间内完成每种操作. LRU缓存 LRU是Least Recen ...

  4. Android入门教程(二)

    Hello World 项目 首先当我们启动Android Studio的虚拟机时,可以看到第一个项目Hello World,那么虚拟机中的Hello World!是如何书写的呢? 看看虚拟机运行结果 ...

  5. mysql 获取数学成绩最高以及最低的同学

    mysql> select * from test; +----+----------+-------+-----------+ | id | name | score | subject | ...

  6. avalon $computed不起作用?

    computed写的个数,应该是只能一个的,之前写了两个,一个是空,一个里面有数据,那个有数据的不起作用,但是在有数据的里面写一个一个console.log就会起作用,所以将多余的空的computed ...

  7. D3.js的v5版本入门教程(第十二章)—— D3.js中各种精美的图形

    D3.js的v5版本入门教程(第十二章) D3中提供了各种制作常见图形的函数,在d3的v3版本中叫布局,通过d3.layout.xxx,来新建,但是到了v5,新建一个d3中基本的图形的方式变了(我也并 ...

  8. 导入eclipse有Unbound classpath variable: 'M2_REPO报错的解决方法

    Eclipse maven of the project reported in Unbound classpath variable: 'M2_REPO /**/***/***. jar' But ...

  9. GPU性能越来越强大,为何直到现在还是不能取代CPU?

      从思路上说,GPU相当于火车,一个车头带几十节车厢,一下子把成千上万吨货全给你拉目的地:CPU相当于汽车,拉货旅游样样能干.因此,如果单纯比运力,一列火车比得过成百上千辆汽车:但如果几百人有几百个 ...

  10. [web前端] react router4.0 登录后返回之前浏览页面(回到来源页)

    本文链接:https://blog.csdn.net/zeroyulong/article/details/81911704困扰了好久的问题,最终还是在官方文档上找到了答案(看英文文档真心难受啊~~) ...