matplotlib绘制极坐标图 最全面总结
文章目录
- matplotlib绘图总结
- 基础概念图示
- 接口说明
- 基础操作
- 1 图像本身设置
- 1.1 图像的长宽比例设置
- 1.2 图像的清晰度
- 1 标题
- 1.1 修改标题
- 2,网格线设置
- 3,点设置
- 4 坐标轴设置
- 4.1 设置坐标轴的范围
- 4.2 隐藏坐标轴,只显示刻度
- 4.3 将网格放在图下边
- 图例设置
- 1,将图例放在图外
- 2,设置图例的位置
- 3,设置图例的列数
- 实例展示
- 一极坐标两条线
- 一个窗口多张图
- 更改横纵坐标轴刻度
- 常见问题汇总
- 1,无法正确显示中文
- 属性大全
- 颜色样式
- 线条风格
- 线条标记
- 参考文献
matplotlib绘图总结
基础概念图示
在绘图结构中,figure创建窗口,subplot创建子图。所有的绘画只能在子图上进行。plt表示当前子图,若没有就创建一个子图。所有你会看到一些教程中使用plt进行设置,一些教程使用子图属性进行设置。他们往往存在对应功能函数。
接口说明
axex:
设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示
figure:
控制dpi、边界颜色、图形大小、和子区( subplot)设置
font:
字体集(font family)、字体大小和样式设置
grid:
设置网格颜色和线性
legend:
设置图例和其中的文本的显示
line:
设置线条(颜色、线型、宽度等)和标记
patch:
是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
savefig:
可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
verbose:
设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
xticks和yticks:
为x,y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。
xlim、ylim:
设置横纵坐标轴范围
xlabel、ylabel:
设置坐标轴名称
基础操作
1 图像本身设置
1.1 图像的长宽比例设置
调整大小,更符合画的图像的长宽比例
plt.rcParams['figure.figsize'] = (8.0, 4.0) # 设置figure_size尺寸
1.2 图像的清晰度
plt.rcParams['savefig.dpi'] = 300 # 图片像素
plt.rcParams['figure.dpi'] = 300 # 分辨率
1 标题
1.1 修改标题
主要是针对多图问题。如果只有一张图那么使用plt.title("你的名字")
即可。多图问题需要使用ax.set_titile("name")
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(6, 6.5))
for i in range(4):ax = plt.subplot(221+i)alpha = 0.98 / 4 * i + 0.01ax.set_title('%.3f' % alpha)t1 = np.arange(0.0, 1.0, 0.01)for n in [1, 2, 3, 4]:plt.plot(t1, t1 ** n, label="n=%d" % n)leg = plt.legend(loc='best', ncol=4, mode="expand", shadow=True)leg.get_frame().set_alpha(alpha)plt.savefig('1.png')
plt.show()
2,网格线设置
连接
3,点设置
参考
marker就是描述的点的样式
plt.plot(x, y1, marker='o', mec='r', mfc='w')
4 坐标轴设置
4.1 设置坐标轴的范围
括号里是起始数值和结束数值。
plt.xlim((-5, 5))
plt.ylim((-2, 2))
4.2 隐藏坐标轴,只显示刻度
实现此功能,但是用到的不是坐标轴参数!而是去掉图的边框。效果图如下
设置前:
设置后:
4.3 将网格放在图下边
ax表示开始图中的区域
ax.set_axisbelow(True)
设置之前:
设置之后:
图例设置
图例所有属性连接
1,将图例放在图外
主要是用到了bbox_to_anchor
属性,相关参考
ax4.legend(loc=2, bbox_to_anchor=(0.5, -0.4))
bbox_to_anchor关键字为手动设置图例提供了很大帮助。主要参数设置为(x_loc, y_loc),其中,参数设置参考下图:也可设置负数
2,设置图例的位置
plt.legend(loc = 0)
位置字符串描述 | 位置编码 |
---|---|
‘best’ | 0 |
‘upper right’ | 1 |
‘upper left’ | 2 |
‘lower left’ | 3 |
‘lower right’ | 4 |
‘right’ | 5 |
‘center left’ | 6 |
‘center right’ | 7 |
‘lower center’ | 8 |
‘upper center’ | 9 |
‘center’ | 10 |
3,设置图例的列数
主要实现功能:实现图例的一行排开效果,主要用到了nclo
属性,其数字就是列数,
ax.legend(loc=8, ncol=3)
实例展示
一极坐标两条线
#导入包
import matplotlib.pyplot as plt
import numpy as np#创建数据
x = np.linspace(-5, 5, 100)
y1 = np.sin(x)
y2 = np.cos(x)#创建figure窗口
plt.figure(num=3, figsize=(8, 5))
#画曲线1
plt.plot(x, y1)
#画曲线2
plt.plot(x, y2, color='blue', linewidth=5.0, linestyle='--')
#设置坐标轴范围
plt.xlim((-5, 5))
plt.ylim((-2, 2))
#设置坐标轴名称
plt.xlabel('xxxxxxxxxxx')
plt.ylabel('yyyyyyyyyyy')
#设置坐标轴刻度
my_x_ticks = np.arange(-5, 5, 0.5)
my_y_ticks = np.arange(-2, 2, 0.3)
plt.xticks(my_x_ticks)
plt.yticks(my_y_ticks)#显示出所有设置
plt.show()
结果:
一个窗口多张图
import numpy as np
import matplotlib.pyplot as pltx = np.arange(-5, 5, 0.1)
y = x * 3# 一个窗口,多个图,多条数据
# 将窗口分成2行1列,在第1个作图,并设置背景色
sub1=plt.subplot(211, facecolor=(0.1843,0.3098,0.3098))
sub2=plt.subplot(212) # 将窗口分成2行1列,在第2个作图
sub1.plot(x,y) # 绘制子图
sub2.plot(x,y) # 绘制子图# 添加一个子坐标系,rect=[左, 下, 宽, 高]
axes1 = plt.axes([.2, .3, .1, .1], facecolor='y')
plt.plot(x, y) # 绘制子坐标系
# 添加一个子坐标系,rect=[左, 下, 宽, 高]
axes2 = plt.axes([0.7, .2, .1, .1], facecolor='y')
plt.plot(x, y)plt.show()
结果:
更改横纵坐标轴刻度
显示x轴的刻标以及对应的标签
xticks(原始数据横坐标数组, 替代的数组 )
import matplotlib.pyplot as plt
import numpy as np# 创建数据
x = np.linspace(-5, 5, 100)
y1 = np.sin(x)# 创建figure窗口
plt.figure(num=3, figsize=(8, 5))
# 画曲线1
plt.plot(x, y1)# 设置坐标轴范围
plt.xlim((-5, 5)) # 也可写成plt.xlim(-5, 5)
plt.ylim((-2, 2)) # 也可写成plt.ylim(-2, 2)
# 设置坐标轴名称plt.xlabel("Data sets", fontsize=13, fontweight='bold')
plt.ylabel("Accuracy", fontsize=13, fontweight='bold')# 设置坐标轴刻度
my_x_ticks = np.arange(-4, 4, 2)
my_y_ticks = np.arange(-2, 2, 0.5)
# 将原来的横坐标替换为 a b c d
plt.xticks(my_x_ticks, ('a', 'b', 'c', 'd'))
plt.yticks(my_y_ticks)
# 显示出所有设置
plt.show()
结果:
常见问题汇总
1,无法正确显示中文
解决方案参考
有两种方案,一种是每次在代码中配置,另外一种是修改配置文件,为了方便,我一般适用第一种。即在代码前边加上
import matplotlib.pyplot as plt
#coding:utf-8
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#有中文出现的情况,需要u'内容'
属性大全
颜色样式
别名 颜色 b 蓝色
g 绿色
r 红色
y 黄色
c 青色
k 黑色
m 洋红色
w 白色
如果这两种颜色不够用,还可以通过两种其他方式来定义颜色值:
1、使用HTML十六进制字符串
color=’#123456’
2、使用合法的HTML颜色名字
(’red’,’chartreuse’等)。
线条风格
线条风格linestyle或ls 描述‘-‘ 实线
‘:’ 虚线
‘–’ 破折线
‘None’,’ ‘,’’ 什么都不画
‘-.’ 点划线
线条标记
标记maker 描述‘o’ 圆圈
‘.’ 点
‘D’ 菱形
‘s’ 正方形
‘h’ 六边形1
‘*’ 星号
‘H’ 六边形2
‘d’ 小菱形
‘_’ 水平线
‘v’ 一角朝下的三角形
‘8’ 八边形
‘<’ 一角朝左的三角形
‘p’ 五边形
‘>’ 一角朝右的三角形
‘,’ 像素
‘^’ 一角朝上的三角形
‘+’ 加号
‘\ ‘ 竖线
‘None’,’’,’ ‘ 无
‘x’ X
参考文献
参考链接:数据架构师
参考链接:xtingjie
参考链接:煲饭酱
参考链接:开码牛
强烈推荐
如果忘记可以看这篇Python–matplotlib绘图
matplotlib绘制极坐标图 最全面总结相关推荐
- python画极坐标图_Python matplotlib绘制极坐标图
极坐标图在数据统计和分析中也经常会用到,这里就介绍一下如何使用Python来绘制极坐标图,主要介绍极坐标散点图和极坐标饼状图. 1.极坐标散点图 N = 150 r = 2 * np.random.r ...
- 10 Python Matplotlib 绘制极坐标图和散点图
matplotlib 绘图实例 import numpy as np import matplotlib.pyplot as plt import matplotlibnp.random.seed(0 ...
- matplotlib绘制极坐标图
见这篇文章:http://t.zoukankan.com/kallan-p-6738577.html
- 【python图像处理】python绘制极坐标图
极坐标图在数据统计和分析中也经常会用到,这里就介绍一下如何使用python来绘制极坐标图,主要介绍极坐标散点图和极坐标饼状图. 1.极坐标散点图 N = 150 r = 2 * np.random.r ...
- matplotlib绘制极坐标图像
只需要在指定图像的时候添加:projection='polar'就可以在极坐标上进行绘图了 import matplotlib.pyplot as plt import numpy as np imp ...
- 【python】python matplotlib绘制并保存多张图片+绘制多张子图
需求描述:画图对比观测值和预测值,绘制对比图及多张子图 绘制对比图 示例代码 import matplotlib.pyplot as plt import numpy as npobs_x_data ...
- matplotlib绘制图表,设置刻度标签、最大最小刻度、字体大小,label位置、刻度轴箭头等
matplotlib绘制图表,设置刻度标签.最大最小刻度.字体大小,label位置.刻度轴箭头等 1. 效果图 2. 源码 2.1 仅使用普通轴ax + fontdict 源码 2.2 使用mpl设置 ...
- 使用KMeanCluster对多个区域进行聚类,并结合Matplotlib绘制中心点、最大最小距离点
使用KMeanCluster对多个区域进行聚类,并结合Matplotlib绘制中心点.最大最小距离点 1. 效果图 2. 源码 2.1 原始数据--xq.txt 2.2 源码 参考 这篇博客将演示如何 ...
- Matplotlib绘制象限图——支持中文、箭头、自定义轴线交点
Matplotlib绘制象限图--支持中文.箭头.自定义轴线交点 1. 效果图 2. 原理 2.1 绘制象限图步骤 2.1 添加文字到图表 3. 源码 参考 这篇博客将介绍如何使用matplotlib ...
最新文章
- 分析及解决SQLServer的死锁问题
- Flex通用克隆(clone)方法
- 【终极方法】Unknown initial character set index ‘255‘ received from server. Initial client characte
- lightoj 1224
- 【C++对象模型】第一章 关于对象
- 想从事 DBA 工作,该挑选哪一款数据库产品【转载+整理】
- state.php,状态模式(State)
- 实验8:Problem A: 立体空间中的点(I)
- Audition报错:“无法应用设备设置,因为发生了以下错误:MME设备内部错误“
- 浅谈MySQL索引背后的数据结构及算法【转】
- spring-beanFactory二
- 策略模式与简单工厂模式
- virtualbox 装win95 win98
- NativeWindow_02_DialogBoxParam_VC6
- DNS域传送漏洞(CVE-2015-5254)
- 用c#语言制作点歌程序,c#实现KTV点歌系统
- java 微信高级群发_java微信平台,高级群发接口开发
- 面试心得与总结---BAT、网易、蘑菇街
- yarn 编译环境时遇到的问题和解决方法
- Java中IO流,输入输出流概述与总结(转载自别先生文章)
热门文章
- Ubuntu 命令行安装chrome
- 艾伟也谈项目管理,项目经理要如何看待技术?
- SpringBoot项目集成UniPush推送服务
- 暗通道去雾法-对算法的理解Dark Channel Prior
- 电子科大自考c语言试题,220名北京考生赶考国科大 面试题目无刚性答案
- My97DatePicker日期范围限制
- 中国制造2025新机遇 机器视觉行业爆发
- 新道格XDG1400磁敏测速传感器的详细介绍
- android 动画后动画效果,Android5.0之后 VectorDrawable实现超炫酷动画效果
- [UWP]使用离散式关键帧播放动画