Python matplotlib安装以及实现简单曲线的绘制


Posted in Python onApril 26, 2022

一、安装matplotlib

1)由于已安装anaconda,可直接打开anaconda prompt,再用命令pip install matplotlib进行安装,因镜像问题,可能较慢,建议第2种方式。

2)访问https://pypi.org/project/matplotlib/#files,并查找与你使用的Python版本匹配的wheel文件(扩展名为.whl的文件),比如与python3.9版本相应的matplotlib-3.5.1-cp39-cp39-win_amd64.whl放在目录G:\develop\python下,(或者你自己所建目录)

打开anaconda prompt,再用命令pip install G:\develop\python\matplotlib-3.5.1-cp39-cp39-win_amd64.whl(注意目录要保持一致) 执行完成即可。

Python matplotlib安装以及实现简单曲线的绘制

二、测试 matplotlib

打开anaconda prompt 先输入python,再输入 import matplotlib,如图所示,没有出现任何错误消息,就说明系统安装成功。

Python matplotlib安装以及实现简单曲线的绘制

三、 绘制简单的折线

import matplotlib.pyplot as plt   #导入模块matplotlib.pyplot,并重新命名为plt

squares = [1,4,9,16,25,36,49,64,81,100]  #定义一个数组

plt.plot(squares, linewidth=5)# 设置图表标题,并给坐标轴加上标签和 参数 linewidth 决定了绘制的线条的粗细
plt.title("Square Numbers", fontsize=24)#设置标题和字体大小
plt.xlabel("Value", fontsize=14)  #  x轴标签,和字体大小
plt.ylabel("Square of Value", fontsize=14)  #  y轴标签,和字体大小
plt.tick_params(axis='both', labelsize=14) # 设置刻度标记的大小,函数 tick_params() 设置刻度的样式
plt.show()

这样就完成一个简单的折线图,运行效果如下:

Python matplotlib安装以及实现简单曲线的绘制

注:如果运行过程中,出现图中红色方框所示警告,需要重新设置spyder中Tools,如下图所示:

Python matplotlib安装以及实现简单曲线的绘制

四、使用 scatter() 绘制散点图并设置其样式

1、要绘制单个点

可使用函数 scatter() ,并向它传递一对x和y坐标,它将在指定位置绘制一个点:

import matplotlib.pyplot as plt   #导入模块matplotlib.pyplot,并重新命名为plt

plt.scatter(2, 4, s=200) #调用了scatter(),并使用实参s设置了绘制图形时使用的点的尺寸,位置为2,4

plt.title("Square Numbers", fontsize=24) # 设置图表标题并给坐标轴加上标签
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)
# 设置刻度标记的大小
plt.tick_params(axis='both', which='major', labelsize=14)
plt.show()

Python matplotlib安装以及实现简单曲线的绘制

2、要绘制系列点

绘制系列点,只需要给出系列点的坐标即可。我们将上述代码中plt.scatter(2, 4, s=200)的2,4分别用两个数列代替。

import matplotlib.pyplot as plt   #导入模块matplotlib.pyplot,并重新命名为plt

x_values = [1, 2, 3, 4, 5]  #X轴的数列
y_values = [1, 3,6, 9, 12]  #y轴的数列
plt.scatter(x_values, y_values, s=100) #调用了scatter(),并使用实参s设置了绘制图形时使用的点的尺寸  plt.title(" series Numbers", fontsize=24) # 设置图表标题并给坐标轴加上标签 plt.xlabel("Value", fontsize=14) plt.ylabel("Value", fontsize=14) # 设置刻度标记的大小 plt.tick_params(axis='both', which='major', labelsize=14) plt.show()

运行结果如下:

Python matplotlib安装以及实现简单曲线的绘制

 3、自动计算数据

像上述手动输入点数,或数列,都是比较慢的处理方式 ,下面用for循环来替代手工输入。

可以先将x_values定义为一个数列,数值在一定的范围,比如1-1000,而对应的y_values也是一个数列,按一定的方式(函数)产生。于是,可以将上述代码修改为如下:

import matplotlib.pyplot as plt   #导入模块matplotlib.pyplot,并重新命名为plt

x_values = list(range(1, 1001))  #定义一个1-1000的数列,
y_values = [x**2 for x in x_values]  #定义Y值的生成方式。

plt.scatter(x_values, y_values, s=4) #调用了scatter(),并使用实参s设置了绘制图形时使用的点的尺寸

plt.title(" series Numbers", fontsize=24) # 设置图表标题并给坐标轴加上标签
plt.xlabel("Value", fontsize=14)
plt.ylabel("Value", fontsize=14)
# 设置刻度标记的大小
plt.tick_params(axis='both', which='major', labelsize=10)
plt.axis([1,1100,1,1100000]) #注意一下axis的参数
plt.show()

运行结果如下:

Python matplotlib安装以及实现简单曲线的绘制

matplotlib中的点默认为蓝色点和黑色轮廓,如上述三图所示,其中最后一图因为点较多,且连在一起,像是一条曲线,为区别不同的点,可以对点分别不同的颜色。

只需再配置几个参数 ,就可以删除黑色轮廓,和修改点的颜色。

plt.scatter(x_values, y_values, edgecolor='none', s=40),其中edgecolor='none'表示将黑色轮廓删除

修改数据点的颜色,可向 scatter() 传递参数 c ,并将其设置为要使用的颜色的名称,如下:

plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40) # 将颜色修改为红色。

颜色映射(colormap)

颜色映射是一系列颜色,从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律

plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues,edgecolor='none', s=40) 
#调用了scatter()参数 c 设置成了一个y值列表,并使用参数 cmap 告诉 pyplot 使用哪个颜色映射,
# 将y值较小的点显示为浅蓝色,并将y值较大的点显示为深蓝色

具体运行效果如下:

Python matplotlib安装以及实现简单曲线的绘制

注意,要了解所有相关颜色的映射,可访问官网,单击Examples,向下滚动到Color Examples,再单击colormaps_reference进行参考。

4、自动保存图表

方法 plt.show() 是显示图表

要让程序自动将图表保存到文件中,可调用 plt.savefig() 方法

plt.savefig('scatter.png', bbox_inches='tight')  #保存为scatter.png的图片文件

Python matplotlib安装以及实现简单曲线的绘制

到此这篇关于Python+matplotlib实现简单曲线的绘制的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python搜索指定目录的方法
Apr 29 Python
python集合用法实例分析
May 30 Python
python实现的文件同步服务器实例
Jun 02 Python
python之DataFrame实现excel合并单元格
Feb 22 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
Django Form and ModelForm的区别与使用
Dec 06 Python
python如何爬取网页中的文字
Jul 28 Python
python 线程的五个状态
Sep 22 Python
Python中return函数返回值实例用法
Nov 19 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 Python
Python爬虫 简单介绍一下Xpath及使用
分享python函数常见关键字
Apr 26 #Python
python和Appium的移动端多设备自动化测试框架
Apr 26 #Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 #Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
python使用BeautifulSoup 解析HTML
Apr 24 #Python
You might like
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
Laravel 修改默认日志文件名称和位置的例子
2019/10/17 PHP
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
js学习总结之dom2级事件基础知识详解
2017/07/27 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
python 实现性别识别
2020/11/21 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
python生成随机数、随机字符、随机字符串
2021/04/06 Python
mysql sock文件存储了什么信息
2022/07/15 MySQL