matplotlib之创建极坐标系
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
############################
#File Name: polar.py
#Author: frank
#Mail: frank0903@aliyun.com
#Created Time:2018-05-22 22:08:01
############################ import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl plt.subplot(111, polar=True)
plt.savefig('create_polar.jpg')
plt.show()

从上图可以看出,默认极坐标系的 极角显示刻度为(0, 360,45),极径显示刻度为(0,1.0,0.2),0度的方向为“E”,默认极坐标的方向是逆时针方向。
那么,
1. 怎么设置极坐标系的方向?
3. 怎样设置极坐标系 的极角网格线(thetagrids)上的 显示刻度?
4. 怎样设置极坐标系 的极径网格线上(rgrids)的 显示刻度?

在平面内取一个定点O,叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向)。对于平面内任何一点M,用ρ表示线段OM的长度(有时也用r表示),θ表示从Ox到OM的角度,ρ叫做点M的极径,θ叫做点M的极角,有序数对 (ρ,θ)就叫点M的极坐标,这样建立的坐标系叫做极坐标系。通常情况下,M的极径坐标单位为1(长度单位),极角坐标单位为rad(或°)。(reference:https://baike.baidu.com/item/%E6%9E%81%E5%9D%90%E6%A0%87/7607962?fr=aladdin)
matplotlib.pyplot.subplot(*args, **kwargs)
Return a subplot axes at the given grid position.
subplot(nrows, ncols, index, **kwargs)
In the current figure, create and return an Axes, at position index of a (virtual) grid of nrows by ncols axes. Indexes go from 1 to nrows *ncols, incrementing in row-major order.
If nrows, ncols and index are all less than 10, they can also be given as a single, concatenated, three-digit number.
For example, subplot(2, 3, 3) and subplot(233) both create an Axes at the top right corner of the current figure, occupying half of the figure height and a third of the figure width.
nrows, ncols, index表示在当前figure中,每个subplot的位置。
如果nrows,ncols and index 都小于10,那么可以将 nrow,ncols,index三个数组合成一个数来表示subplot的位置。例如subplot(2,3,3)等价于subplot(233),这个subplot位于当前figure的右上角,其高度占整个figure的一半,其宽度占整个figure的三分之一。
Note:
Creating a subplot will delete any pre-existing subplot that overlaps with it beyond sharing a boundary:
import matplotlib.pyplot as plt
# plot a line, implicitly creating a subplot(111)
plt.plot([1,2,3])
# now create a subplot which represents the top plot of a grid
# with 2 rows and 1 column. Since this subplot will overlap the
# first, the plot (and its axes) previously created, will be removed
plt.subplot(211)
plt.plot(range(12))
plt.subplot(212, facecolor='y') # creates 2nd subplot with yellow background
If you do not want this behavior, use the add_subplot() method or the axes() function instead.
在同一个figure中,如果之前已经创建了一个subplot0(如plt.plot([1,2,3])),然后有创建另一个subplot1(如plt.subplot(211)),那么sunplot1会将subplot0覆盖掉。
如果想避免这种情况发生,可以使用add_subplot()函数或axes()函数。
Keyword arguments:
facecolor: The background color of the subplot, which can be any valid color specifier. See matplotlib.colors for more information.
指定subplot的背景颜色。
polar: A boolean flag indicating whether the subplot plot should be a polar projection. Defaults to False.
指定subplot是否为极坐标
projection: A string giving the name of a custom projection to be used for the subplot. This projection must have been previously registered. See matplotlib.projections.
参考资料:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplot.html?highlight=subplot#matplotlib.pyplot.subplot
matplotlib之创建极坐标系的更多相关文章
- Python可视化学习(2):Matplotlib快速绘图基础
Matplotlib将大部分的绘图对象都封装成为对象,故理论上所有的图表元素(如Line2D, Text,Label等)都是对象,都可以将其在图表中提取出来并配置实例的属性.同时,Matplotlib ...
- matplotlib初识
Matplotlib 能够创建多数类型的图表,如条形图,散点图,条形图,饼图,堆叠图,3D 图和地图图表. import matplotlib.pyplot as plt plt.plot([,,], ...
- python数据分析scipy和matplotlib(三)
Scipy 在numpy基础上增加了众多的数学.科学及工程常用的库函数: 线性代数.常微分方程求解.信号处理.图像处理.稀疏矩阵等: Matplotlib 用于创建出版质量图表的绘图工具库: 目的是为 ...
- Python学习笔记:Matplotlib(数据可视化)
Matplotlib是一个可以将数据绘制为图形表示的Python三方库,包括线性图(折线图,函数图).柱形图.饼图等基础而直观的图形,在平常的开发当中需要绘图时就非常有用了. 安装:pip insta ...
- python使用matplotlib在一个图形中绘制多个子图以及一个子图中绘制多条动态折线问题
在讲解绘制多个子图之前先简单了解一下使用matplotlib绘制一个图,导入绘图所需库matplotlib并创建一个等间隔的列表x,将[0,2*pi]等分为50等份,绘制函数sin(x).当没有给定x ...
- (数据科学学习手札128)在matplotlib中添加富文本的最佳方式
本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 长久以来,在使用matplotlib进行绘 ...
- 《利用Python进行数据分析》第8章学习笔记
绘图和可视化 matplotlib入门 创建窗口和画布 fig = plt.figure() ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2, ...
- 六行python代码的爱心曲线
前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧.实际上,当时有效偏颇了,忽略了问题 ...
- Ubuntu安装Jupyter Notebook
一.Jupyter介绍 Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言.Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支 ...
随机推荐
- vmware 下 ubuntu 不能全屏显示 的解决方法
vmware 下 ubuntu 不能全屏显示 在 vmware 下 安装 ubuntu后,默认分辨率是 800 * 600,可以设置以全屏显示: 设置步骤: vmware 下启动 虚拟机,即 启动 u ...
- 谈谈Ext JS的组件——布局的用法续一
盒子布局 盒子布局主要作用是以水平(Ext.layout.container.HBox)或垂直方式(Ext.layout.container.VBox)来划分容器区域.这也是比較常有的布局方式. 使用 ...
- unity statics window fps原理
https://forum.unity.com/threads/is-unity-fps-count-wrong-or-am-i-missing-something.150139/ 看了下这个fps ...
- 使用MyEclipse 2014构建Maven项目的两种方法
前提: MyEclipse已配置Maven,具体步骤见http://blog.csdn.net/haishu_zheng/article/details/51492491 方法一: 1 File--& ...
- Unity 博客精选(持续更新)
Unity开源贡献 http://blogs.unity3d.com/2014/09/16/getting-started-as-a-contributor-to-our-open-source-pr ...
- json字符串 与 json对象 的相互转换
var obj=JSON.parse(jsonstr); // 将json字符串转换成json对象 var str=JSON.stringify(jsonobj); // 将json对象转换成json ...
- 轻量级的前端UI开发框架 - UIkit
来源:GBin1.com UIkit是YOOtheme团队开发的开源的前端UI界面框架,可以帮助你快速的开发和创建前端UI界面. 基于下列开源项目: LESS jQuery normalize.css ...
- Discuz常见小问题2-如何修改管理员密码,修改admin账户密码
进入后台,点击用户,用户管理,搜索admin这个用户找到,然后点击详情 输入新密码即可(无需验证老的密码)
- WIN7如何查找网络打印机
1 在开始菜单中输入"打印机"并点击"添加打印机" 2 点击下面一个,并搜索家庭组的打印机,一般可以搜到(注意这台电脑不能关机或睡眠). 3 查找并添加会需要安 ...
- 赵雅智_service生命周期
Android中的服务和windows中的服务是类似的东西,服务一般没实用户操作界面.它执行于系统中不easy被用户发觉,能够使用它开发如监控之类的程序. 服务的开发步骤 第一步:继承Service类 ...