笔记说明:本文是我的学习笔记,大部分内容整理自 黄红梅,张良均等.Python数据分析与应用[M].北京:人民邮电出版社,2018:52-77. 还有部分片断知识来自网络搜索补充。
可视化这块的内容我以后会专门学习一本参考书然后整理笔记的,现在仅仅是整理上述参考书的一个章节的基础知识。

注:写在最前面。这块知识是可视化这一大块的内容,很多、很细致,我在整理这个笔记的时候就会不自觉一直在网上搜索更多的知识,对我现阶段而言太浪费时间了,因为我的主要方向不是做可视化的,所以我在后面的笔记里面仅仅呈现出开头提到的那个参考工具书的第三章可视化基础的笔记整理。
关于可视化更详细的部分在以后我系统学习完我的知识之后回过头我会整理一本专门讲python可视化的工具书的笔记的。书已经买好了,就是!!暂时不会看那本书!!

推荐博客:这个人的博客https://blog.csdn.net/sinat_36219858/article/details/79800460

文章目录

  • 0.本文的数据
  • 1.绘图基础语法与常用参数
    • 1.1 pyplot
      • 1.1.1创建画布和子图
      • 1.1.2 添加画布内容
      • 1.1.3 保存与显示图形
      • 上个栗子!
  • 1.2 设置动态rc参数
  • 2.散点图和折线图
    • 2.1 散点图
    • 一个栗子!

0.本文的数据

CSDN的数据不可以免费共享,至少要一个金币,有能力的就去下载一下数据下载链接CSDN数据。不方便的底下头评论留言,留下邮箱号,我看到之后就会把数据发给你,或者你可以在这本书的出版社网站人民邮电出版社教育社区或者“泰迪杯数据挖掘比赛”泰迪杯数瑞思的网站上找这本书的附带资源,都是免费下载的。

1.绘图基础语法与常用参数

1.1 pyplot

pyplot绘图的方式类似R语言里面的ggplot,是建立多个图层来完成同一幅图中绘制多个图形。
因此需要在每建立一个图层之后就添加标题、x轴、x轴的刻度范维、y轴、y轴的刻度范围,然后添加图形,添加图例,保存显示。

1.1.1创建画布和子图

  • 在一幅图时可以省略
  • plt.figure:空白画布
  • figure.add_subplot(‘行’,‘列’,‘选中的子图编号’)

1.1.2 添加画布内容

  • 具体参数详见help(func)
  • plt.title:标题
  • plt.xlabel:x轴名称
  • plt.ylabel:y轴
  • plt.xlim:x轴的范围
  • plt.ylim:y轴范围
  • plt.xticks:第一个参数为范围,数组类型;第二个参数是标签,第三个是控制标签,
    遵循text协议,具体参照matplotlib.text
  • plt.yticks:同上
  • plt.legend:图例

1.1.3 保存与显示图形

  • plt.savafig:保存
  • plt.show:在本机显示

上个栗子!

## 一个图
help(plt.plot)
import numpy as np
import matplotlib.pyplot as plt
data = np.arange(11)
plt.title(u'随便画一条看看')
plt.xlim((0,11))
plt.xlabel(u'X轴名字')
plt.ylim((0,105))
plt.ylabel(u'y轴名字')
plt.xticks(ticks=range(0,12))
plt.yticks(range(0,105,10))
plt.plot(data,data**2)
plt.legend('y=x^2')
plt.savefig('D:\\codes\\python\\image\\plot1.png')
plt.show()## 两个图
# -*- coding: utf-8 -*-
rad=np.arange(0,np.pi*2,0.01)
p1=plt.figure(figsize=(15,7),dpi=111)
pic1=p1.add_subplot(1,2,1) #一行两列的第一幅图
plt.title(u'会不会乱码?')
plt.xlabel('x')
plt.xlim((0,1))
plt.xticks(np.arange(0,1.1,0.1))
plt.ylim((0,1))
plt.ylabel('y')
plt.yticks(np.arange(0,1.1,0.1))
plt.plot(rad,rad**2)
plt.plot(rad,rad**4)
plt.plot(rad,rad*0+0.5) ## 第二个y参数一定要包含x。只写0.5的话,画不出来这条直线
plt.legend(['y=x^2','y=x^4'])pic2=p1.add_subplot(1,2,2) #一行两列的第一幅图
plt.title('sin & cos')
plt.xlabel('x')
plt.xlim((0,np.pi*2))
plt.xticks(np.arange(0,np.pi*2+1,np.pi/2))
plt.ylim((-1,1))
plt.ylabel('y')
plt.yticks(np.arange(-1,1.5,0.5))
plt.plot(rad,np.sin(rad))
plt.plot(rad,np.cos(rad))
plt.legend(['sin','cos'])
plt.savefig('D:\\codes\\python\\image\\plot2.png')
plt.show()

中文还是乱码,开头我已经声明utf8编码了~~
plt.plot(rad,rad*0+0.5) 第二个y参数一定要包含x。只写0.5的话,画不出来这条直线

1.2 设置动态rc参数

rc参数修改之后,绘图时使用的默认参数就会发生改变

x=np.arange(0,np.pi*6+0.1,0.1)
y=np.sin(x)
plt.plot(x,y,label='$sin(x)$')# $ 的作用就是告诉电脑这是个字符串
plt.title("sin")
plt.rcParams['lines.linestyle']='--'
plt.savefig('D:\\codes\\python\\image\\plot4.png')
plt.show()

这边有个很有意思的逻辑,就是其实这个savefig并不是必须要有的,但是一旦写好,
plt.show出来的就是上述名字的照片,本例题就是plot4,然后修改rc参数后,
show出来的图片并不会更改,依然是plot4,所以修改完rc参数之后要修改照片的名字,储存新的照片。。

rc参数 解释 取值
lines.linewidth 线条宽度 0~10,默认1.5
lines.linestyle 线条样式 “-”,“–”,“-.”,“:”默认是“-”
lines.marker 线条上点的形状 “o”“D”“h”“.”“,”“S”等20种
lines.markersize 点的大小 0~10,默认1
lines.marker 意义 lines.marker 意义
o 圆圈 .
D 菱形 S 正方形
h 六边形1 H 六边形2
* 星号 d 小菱形
- 水平线 v 一角向下的三角形
8 八边形 < 一角向左的三角形
p 五边形 > 一角向右的三角形
, 像素 ^ 一角向上的三角形
+ 加号 \ 竖线
None x X

划重点!中文的支持
pyplot字体不支持中文,不是编码的问题,需要设置一个参数

x=np.arange(0,np.pi*6+0.1,0.1)
y=np.sin(x)
plt.plot(x,y,label='$sin(x)$')# $ 的作用就是告诉电脑这是个字符串
plt.title("sin这个中文就可以显示了")
plt.rcParams['lines.linestyle']='-.'
plt.rcParams['font.sans-serif']='SimHei'#设置中文字体
plt.rcParams['axes.unicode_minus']=False #防止坐标轴中文显示错误
plt.show()

2.散点图和折线图

2.1 散点图

help(plt.scatter)
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None,   vmin=None, vmax=None, alpha=None, linewidths=None,   verts=None, edgecolors=None, *, data=None, **kwargs)
参数 说明
x,y 接收array,表示x,y对应的数据
s 接收数值或者一维数组,指定点的大小,若传入一维数组,则表示每个点的大小
c 接收颜色参数或者一维数组
marker 接收待定string,表示绘制的点的类型
alpha 接收0~1的小数,表示点的透明度
颜色 说明 颜色 说明
b 蓝色 m 品红
g 绿色 y 黄色
r 红的 k 黑色
c 青色 w 白色

一个栗子!

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
data=np.load("D:\\codes\\python\\国民经济核算季度数据.npz")
name=data['columns']
values=data['values']
plt.figure(figsize=(9,7))
plt.scatter(values[:,0],values[:,2],marker='o')
np.max(values[:,2])
plt.xlabel("年份")
plt.ylabel("生产总值(亿元)")
plt.ylim((0,225000))
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
# rotation标签旋转角度
plt.title("2000~2017各季度国民生产总值散点图")
plt.show()###绘制多个散点
plt.figure(figsize=(9,7))
plt.scatter(values[:,0],values[:,3],marker='o',c='red')
plt.scatter(values[:,0],values[:,4],marker='D',c='green')
plt.scatter(values[:,0],values[:,5],marker='>',c='blue')
plt.xlabel('年');plt.ylabel('生产总值(亿)')
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title("打字好累啊,来回切换输入法")
plt.legend(["一产业","二产业","三产业"])
plt.show()

3.Matplotlib数据可视化基础(上)(pyplot、rc参数、散点图、折线图)相关推荐

  1. 数据分析入门之Matplotlib数据可视化基础(散点图、折线图、直方图、饼图、箱线图)

    文章目录 1.掌握pyplot基础语法 1.1.基本绘图流程 1.2.创建画布与创建子图 1.2.1.设置画布大小 1.2.2.添加图列 1.2.3.解决中文乱码 1.3.添加画布内容 1.4.保存与 ...

  2. 【Python数据科学快速入门系列 | 06】Matplotlib数据可视化基础入门(一)

    这是机器未来的第52篇文章 原文首发地址:https://robotsfutures.blog.csdn.net/article/details/126899226 <Python数据科学快速入 ...

  3. 数据科学与python语言——Matplotlib数据可视化基础

    Matplotlib数据可视化基础 一.读取数据与数据处理阶段 1.提取指定行中的数据 2.得到>指定数值的数据 3.得到=指定值得数据 4.整体的数据处理: 二.画图函数 1.plt.subp ...

  4. Python数据分析——Matplotlib数据可视化基础(二)

    Python数据分析--Matplotlib数据可视化基础(二) 思维导图: 图形的绘制 认识要绘制的图形 基本绘图流程 pyplot基础图表函数 pyplot饼图的绘制 pie函数 matplotl ...

  5. Matplotlib数据可视化基础

    一.了解绘图基础语法与常用参数 import matplotlib.pyplot as plt import numpy as np  画图流程: 1.创建画布 2.选定子图 3.绘制图形 4.添加图 ...

  6. 3-11 Matplotlib数据可视化基础

    import matplotlib from matplotlib import pyplot import numpyx=numpy.linspace(0,10,100)#从0-10切分100段 s ...

  7. Python数据可视化:线型、Marker、简单折线图、多柱状图、基本饼形图与嵌套饼形图

    Python数据可视化 一:Matplotlib import matplotlib.pyplot as plt import numpy as np # plt,np取别名 matplotlib常用 ...

  8. 如何使用python画折线图-Python数据可视化:使用Python画柱状图和折线图

    Python爬虫太火了,没写过爬虫,都不敢说自己学过Python?! 可是刚一开始学我就遇到了难题----数据分析!听起来很高大上,有没有? 想要做爬虫,就得先学会使用数据分析工具,制作图表这是最基本 ...

  9. Matplotlib【学习大礼包】数据可视化基础 掌获绘图基础语法与常用参数、设置pyplot的动态rc参数、 绘制散点图、折线图、直方图、饼图

    文章目录 如何查看完整版!!(代码+图片) 第3章 Matplotlib 数据可视化基础 3.1 掌获绘图基础语法与常用参数 3.1.1 掌获pyplot基础语法 1.创建画布与创建子图 2.添加画布 ...

最新文章

  1. python django web项目的构建步骤(一)
  2. 【Data Mining】机器学习三剑客之Numpy常用用法总结
  3. 《Flask 入门教程》第 6 章:模板优化
  4. vh,vw单位你知道多少?
  5. 编程的第一步都要使能时钟吗_在您的第一份编程工作中要做的11件事
  6. spring mvc 基于表单的认证过程及cookie应用和session管理
  7. Linux系统用户账号的管理
  8. Java -- Servlet面试题及答案(需更深入了解)
  9. 程序员灯谜,你能猜出几个?
  10. 微信小游戏马甲包过审策略
  11. 影响因素分析论文用什么模型好?
  12. Pop!_OS安装与配置(三):系统美化
  13. 创业者不能盲目的跟风,不然结局很凄凉
  14. 对话V神:区块链跨链技术大规模应用将在一到两年内爆发
  15. 用例执行一半总是报错“An unknown server-side error occurred ...Original error: Error: socket hang up”
  16. 世界海洋日 | TcaplusDB号召你一同保护海洋生物多样性
  17. pdf转html在线预览,PDF转html
  18. Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_0900_as_ci,IMPLICIT) for operat
  19. Linux虚拟机连接外网
  20. Python练手小项目(11)用户名密码验证的初步探索

热门文章

  1. 基于php的旅游景点网站设计
  2. 08年总结评述(一)
  3. 家庭理财期末考试试卷计算机,计算机科学与技术 家庭理财管理信息系统本科学位论文.doc...
  4. EDI的含义,作用方式以及主要优势
  5. 安全帽识别系统-智慧船舶的守夜人
  6. 华硕x45vd安装黑苹果Yosemite 10.10.3记录
  7. Win11最新KB5019980(22621.819)更新内容详解
  8. python中screen用法_screen命令的使用
  9. 网络营销工具:网上收集的30个常用SEO工具
  10. [转] 数学的用处(一)(二)(三)(四)(数学图谱)