python画图程序没有图_python画图 - v0

学了这么多年python了,还一直没有系统地了解过python的画图功能。

每次都是现学现用,但是某些比较紧急的场合,往往就会比较耗时又耗力,因为不成体系,还经常会忘记已经吸纳的新知识。

所以,我决定把这块的画图功能系统的学习一下,进行知识储备。

Python的pyplot模块绘制图表的基本操作。

=======================================================

一个简单的二维折线图:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]

y = [1.2, 2.5, 4.5, 7.3]

# plot函数作图

plt.plot(x, y)

plt.savefig("test.png", dpi=120)

# show函数展示出这个图,如果没有这行代码,则程序完成绘图,但看不到

plt.show()

运行后的效果是这样的,从数值对应上,横轴应该是x轴,纵轴应该是y轴。

但是,对应图与代码,另外疑问的是,为什么x轴给出的是整数,在绘制时却用了浮点?而又为什么y轴给出的是浮点数,在绘制时却用的是整数呢?

----------------------------------------------------------------------------------------------

另一个点是:

show()函数在通常的运行情况下,将会阻塞程序的运行,直到用户关闭绘图窗口。换句话说,在关闭show()函数弹出的图像窗口前,show()函数后面的代码不会运行,直到用户关闭图像窗口,才会继续。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

我测试了普通的print()之后,发现并没有阻塞。。。

但是呢,当我在调用plt.savefig()将当前的Figure对象保存成图像文件时,

如果plt.savefig()代码放在了plt.show()之后,那我本地保存的图像就是一张空白图,不符合预期;

但如果plt.savefig()代码放在了plt.show()之前,则可以成功实现保存。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

虽然问题不大,但也让我产生疑问:到底是有阻塞还是没有阻塞呢?如果有,阻塞什么,而又不阻塞什么呢?

=======================================================

不同风格的线条:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4]

y = [1.2, 2.5, 4.5, 7.3]

#线条颜色、线条样式、突出(marker)每个记录的点、线条粗细

plt.plot(x, y, color="r", linestyle="--", marker="*", linewidth=1.0)

plt.show()

运行后的效果:

---------------------------------------------------------------------------------------------

线条风格(linstyle):

supported values are '-', '--', '-.', ':', 'None', ' ', '', 'solid', 'dashed', 'dashdot', 'dotted'

-----------------------------------------------------------------------------------------------

线条颜色(color):

-----------------------------------------------------------------------------------------------

线条标记(marker):

======================================================

坐标轴控制

-绘图范围:

import matplotlib.pyplot as plt

import numpy as np

#x 的取值范围

x = np.arange(-5, 5, 0.02)

y = np.sin(x)

#控制图像的绘图范围

#plt.axis([x_min, x_max, y_min, y_max])

plt.axis([-np.pi, np.pi, -2, 2])

plt.plot(x, y, color="r", linestyle="-", linewidth=1)

plt.show()

运行效果如下:

值得注意的一个点:

虽然x的取值范围在[−5,5],但是绘图时,只是展示了[−π,π]之间的函数图。

引出一个可以控制图像范围的函数:

plt.axis([x_min, x_max, y_min, y_max])

如果只是单独想要控制x轴或者y轴的取值,则可以用plt.xlim(x_min, x_max)和plt.ylim(y_min, y_max),用法与plt.axis()类似。

----------------------------------------------------------------------------------------------

-标题和间隔:

import matplotlib.pyplot as plt

import numpy as np

import math

x = np.arange(-2 * math.pi, 2 * math.pi, 0.02)

y = np.sin(x)

plt.axis([-10, 10, -2, 2])

plt.xticks([i * np.pi/2 for i in range(-4, 5)], [str(i * 0.5) + "$\pi$" for i in range(-4, 5)])

plt.yticks([i * 0.5 for i in range(-4, 5)])

plt.xlabel("x")

plt.ylabel("y")

plt.plot(x, y, color="r", linestyle="-", linewidth=1)

plt.show()

运行效果如下:

纯粹知识的学习记录:

函数plt.xlabel()和plt.xlabel()用来实现对x轴和y轴添加标题。

函数plt.xticks()和plt.yticks()用来实现对x轴和y轴坐标间隔(也就是轴记号)的设定。用法上,函数的输入是两个列表,第一个表示取值,第二个表示标记。当然如果你的标记就是取值本身,则第二个列表可以忽略。(支持latex公式表达)

=======================================================

PS:感谢参考文章的作者,从细节、小处一步步向前推进,能够很好的帮助我建立知识体系。

不过,一如既往地,我的问题真多,虽然问题不大,但是拥有自己的思考分析,我认为是应该一直坚持的事情。

毕竟自己小菜鸡,一直在参考文章进行学习,期待学习后期可以有自己完全独立、不依赖参考文章的成形文字。

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

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

相关文章

利用Azure communication service实现跟Teams同样等级的沟通协作应用

大家都知道Teams是一个非常强大的沟通协作平台,包括聊天,团队协作,会议,以及应用集成等功能,现在在全世界拥有数以亿计的商业用户。作为Teams平台的一个延伸,产品组把一些核心功能变成了一个公开的服务&…

一个入门的学生选课系统

大三的时候写的一个学生选课系统,WinForm 的使用的SQL数据库。主要有学生,老师两类用户,老师查看选择自己课程的学生,学生进行选课(只能选5门课),登陆的时候要有登陆错误次数限制超过会锁定&…

python功能选择模块_python – 组合功能和功能模块

您的compose的实现对于python 3.2是有效的,如上述注释所述.你给出的图书馆的大部分功能都是在documentation中写的python等价物.诸如地图和过滤器的功能已经在python中实现,也可以简单地表示为列表推导. Python有一个id函数返回一个对象的身份(作为整数),但是该库的id函数可以表…

1574: [Usaco2009 Jan]地震损坏Damage

1574: [Usaco2009 Jan]地震损坏Damage Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 425 Solved: 232[Submit][Status][Discuss]Description 农夫John的农场遭受了一场地震.有一些牛棚遭到了损坏,但幸运地,所有牛棚间的路经都还能使用. FJ的农场有P(1 < P < 30,000)…

世界上最诡异的画,到底为何让无数人闻风丧胆?

全世界只有3.14 % 的人关注了爆炸吧知识也许只看到标题 &#xff0c;你一定想不到&#xff0c;传说中世界上最诡异的画是这张。《雨中女郎》这是乌克兰画家斯韦特兰娜捷列茨&#xff0c;绘画生涯中重要的一个作品。也许你会说哪里诡异呢&#xff1f;其实很多人看完这幅画以后&a…

谷歌街景新功能——帮警方抓毒贩

“地球上的毒贩子们&#xff0c;谷歌正在看你们呢。”11月11日的《纽约邮报》在题为《谷歌街景帮忙逮住嫌疑毒贩》的报道开篇这样写道。报道援引执法人员的话说&#xff0c;当时三个毒贩在纽约布鲁克林一处街角向人兜售他们的产品时&#xff0c;被谷歌街景拍个正着。 纽约警介绍…

pixel android8,谷歌Pixel 2更多信息:安卓8.1

给HTC手机团队注入11亿美元现金后&#xff0c;已经显示了谷歌要把硬件做下去的决心&#xff0c;特别是自家的Pixel系列&#xff0c;而10月4日新一代Pixel手机将正式来袭。据Android Police最新报道称&#xff0c;谷歌新的Pixel 2代手机将会提供一个新的功能名叫Always-On Song …

tftp 服务器 ip_360Stack裸金属服务器部署实践

女主宣言裸金属特性是一种将物理设备作为资源提供给租户的云计算服务&#xff0c;租户通过该服务可申请、管理和配置相应的物理设备资源&#xff0c;本文将介绍360Stack裸金属服务器的部署实践。PS&#xff1a;丰富的一线技术、多元化的表现形式&#xff0c;尽在“360云计算”&…

设计模式:状态模式

一、引子 状态模式自身结构非常简单——前面刚刚介绍了几个结构比较简单的设计模式&#xff0c;和他们 一样&#xff0c;状态模式在具体实现上留下了可变换的余地。我前面已经介绍过它的孪生兄妹策略模 式了&#xff0c;大家可以两者比较着阅读。本文将会讨论两者的区别。 二、…

python柱状图挨在一起_echarts多个柱状图展示问题(bar都挤到一起了)

设置bar的宽度也不行&#xff0c;增加区间长度也不行展示是这种情况附上option对象{"calculable": true,"dataZoom": [{"end": 50,"show": true,"start": 2,"type": "slider","xAxisIndex": …

织梦首页html在哪儿,dedecms织梦首页去index.html

如果首页中有index.html不利于SEO&#xff0c;蜘蛛用主域名跟踪到你网站的时候结果多了个index.html&#xff0c;结果导致分散了权重解决方法&#xff1a;将根目录下的index.php文件更改为&#xff1a;if(!file_exists(dirname(__FILE__)./data/common.inc.php)){header(Locati…

Google Chrome 总提示flash插件过期,用命令行模式解决

目标那改成&#xff1a;"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --args --allow-outdated-plugins chrome老提示插件已被阻止&#xff1a; chrome://plugins/ 进入插件 选择始终允许转载于:https://www.cnblogs.com/as3lib/p/4396418.html

Windows下的gcc/gc++编译环境配置

最近有很多算法设计的网络大赛&#xff0c;其中大部分的C/C都是采用Linux下的GCC/G编译器。配置GCC编译器大概有这几种途径&#xff1a;装Linux系统、装Linux虚拟机或者在Windows环境下模拟Linux编译环境。这里谈谈有关Windows下模拟Linux编译环境的方法。 说到Windows下模拟Li…

程序员苦逼了6年,选择在街边做鸭......

1 从入门到转行可太真实了▼2 干干巴巴&#xff0c;麻麻赖赖给我盘&#xff01;▼3 这位高人一看就是本科蓝翔&#xff0c;新东方硕博连读▼4 主要还是男人比较自信▼5 逻辑清晰&#xff0c;思维缜密▼6 妈妈&#xff0c;我就想听好听的▼7 如过全网都没有广告说不定会有…

uWSGI基础攻略

uWSGI的安装就不多说了、不懂的参考前面的文章、以下例子都是以http的形式来启动、比如莪的py文件名称叫做return_enviorn.py、那么便是这么来执行、如果迩想查看效果、请打开http://hostip:9090来查看 ./uwsgi --http :9090 --wsgi-file ../program/py_script/return_enviorn.…

sql语句ding_mybatis plus 写sql语句

一、api:public MapselectManagerList(ManagerBean managerBean){Page page new Page(managerBean.getPage()null ? 1:managerBean.getPage(),managerBean.getPageSize()null ? 10 :managerBean.getPageSize());try {return managerService.selectManagerList(page,managerB…

Resharper 和 Rider 的奇淫技巧,你知道多少?

.NET 开发中最令人印象深刻的生产力工具之一是ReSharper[1]。每次发布时&#xff0c;我都对它的功能感到震惊。不要误会我的意思&#xff0c;我喜欢 Visual Studio&#xff0c;而且它也变得越来越好。但每当我认为 Visual Studio 迎头赶上时&#xff0c;我就会发现一些令人惊叹…

流量节省模式 Android,这三种方法让你节省更多手机上网流量

大多数手机用户应该都知道最基本的流量管理方式——没有Wi-Fi可用时就不看视频、不玩在线游戏、或者下载大型应用——除非你拥有不限流量套餐。但如果你在使用流量时已经很节约&#xff0c;但每个月的用量依然会超出流量套餐&#xff0c;那下面这三种方法应该可以确保你不会浪费…

同一个PC只能运行一个应用实例(考虑多个用户会话情况)

原文:同一个PC只能运行一个应用实例(考虑多个用户会话情况)1 class Program2 {3 private static Mutex m;4 5 [STAThread]6 static void Main() 7 {8 bool createNew false;9 10 /* 11 * 在运行终端服务的服务器上&am…

PS比狠大赛!看看谁家的照片更丑!

全世界只有3.14 % 的人关注了爆炸吧知识最近在网上看到一个“丑照片挑战”本来以为就是丑吧结果一看惊了张张都是文艺大片范儿一点都不丑至于为什么叫丑照片挑战赛来看看他们的实拍背景就知道了比如第一张小姐姐的酷拽镜头靠的竟然是餐桌上这盆小绿植第二张的帅气小哥哈哈哈对不…