导航:首页 > 编程语言 > python画地图画箭头

python画地图画箭头

发布时间:2024-12-14 13:21:11

‘壹’ Matplotlib 可视化之箭头与标注的高级应用

时间线是以时间顺序排列的事件列表,其图形设计通常显示一个长条,并标有与之平行的日期,用于展示同期的事件。

时间线可以采用任何合适的比例来表示时间,以适应主题和数据。许多人使用线性刻度,其中一个距离单位等于设定的时间量。这种时间刻度取决于时间轴中的事件。

Matplotlib是由John D. Hunter编写的,首个公开版本于2003年发布。在2012年8月John Hunter去世前,Michael Droettboom被任命为matplotlib的首席开发者,2014年Thomas Caswell加入,目前(2021年)担任首席开发者。最新版本为3.4,仅支持python 3,而2.2版本是一个长期支持的版本,兼容Python 2和Python 3。

时间线绘图

时间线绘图步骤代码

注解:Matplotlib的zorder属性决定了物体与前景的距离。zorder值较小的对象出现在更靠近背景的位置,而具有较大值的对象出现在更靠近前面的位置。例如,在制作一个带有线图的散点图时,可以通过增加其zorder来将线向前移动。

标注

要掌握时间轴图绘制,需要先了解Matplotlib中的标注。标注分为基本标注和高级标注。

关键点:箭头及文本,首先学习下箭头➡️如何绘制。

箭头风格

Matplotlib中画箭头通常比较困难,推荐使用plt.annotate()函数。该函数既可以创建文字,也可以创建箭头,并且它创建的箭头可以进行非常灵活的配置。

箭头的风格是通过arrowprops字典控制的,其中包含许多可用的选项。由于这些选项在Matplotlib的官方文档中都有非常详细的介绍,这里列出一些常用的参数及其设置值。

主要参数:FancyArrowPatch的关键字包括:箭头

箭头的绘制需要几个步骤:① 创建两个点之间的连接路径,由connectionstyle键值控制;② 如果提供了patch对象(patchA和patchB),则会剪切路径以避开该patch;③ 路径进一步由提供的像素总量来缩小(shrinkA&shrinkB);④ 路径转换为箭头patch,由arrowstyle键值控制。

连接路径

两个点之间的连接路径的创建由connectionstyle键控制,并且可用以下样式。注意,angle3和arc3中的3意味着所得到的路径是二次样条段(三个控制点)。当连接路径是二次样条时,可以使用一些箭头样式选项。

在函数ax.annotate()中的连接路径的参数arrowprops,而实际控制箭头样式的参数是connectionstyle,通过设置不同的connectionstyle以改变不同的箭头路径样式。

例如,我们设置如下参数connectionstyle具体值,并绘制出如下样式。

箭头样式

后根据给定的箭头样式将连接路径(在剪切和收缩之后)变换为箭头补丁。

在函数ax.annotate()中的箭头样式的参数arrowprops,而实际控制箭头样式的参数是arrowstyle,通过设置不同的arrowstyle以改变不同的箭头样式。

我们可以设置哪些arrowstyle参数呢?可以通过mpatches.ArrowStyle.get_styles()方法查看所有可以设置的样式。

箭头位置

xy(箭头尖端)和xytext位置(文本位置)都以数据坐标为单位。这两个参数可以通过分别设置xycoords和textcoords来指定xy和xytext的坐标系。

设置xy和xytext的坐标系如下:

通过上述设置完成操作后,设置标注函数:

并且通过上述函数绘制各个事件:

文本注释

主要参数:matplotlib.text.Text实例有各种属性,可以通过关键字参数配置文本命令(例如,title(),xlabel()和text())。

你可以使用对齐参数horizontalalignment,verticalalignment和multialignment来布置文本。

这里是一个使用text()命令显示各种对齐方式的例子。在整个代码中使用transform = ax.transAxes,表示坐标相对于轴边界框给出,其中0,0是轴的左下角,1,1是右上角。

通过绘制两个端点及横线组合,绘制区间线段。

‘贰’ python画箭头(用内置的函数)怎么画

你用的graphics模块?这不是内置的,虽然它是调用内置的Tkinter画图。

option可以是"first","last","both"或"none"。见graphics.py:

def setArrow(self, option):
if not option in ["first","last","both","none"]:
raise GraphicsError(BAD_OPTION)
self._reconfig("arrow", option)

细节要查Tk文档:

6.6. The canvas line object
In general, a line can consist of any number of segments connected end to end, and each segment can be straight or curved. To create a canvas line object on a canvas C, use:
id = C.create_line ( x0, y0, x1, y1, ..., xn, yn, option, ... )
The line goes through the series of points
(x0,
y0),
(x1,
y1),

(xn,
yn).
Options include:
arrow The default is for the line to have no arrowheads. Use
arrow=FIRST to get an arrowhead at the(x0,y0)end of the line. Use
arrow=LAST to get an arrowhead at the far end. Use
arrow=BOTH for arrowheads at both ends.

‘叁’ python怎样把箭头变为红色

添加相同的箭头补丁。
在创建箭头时,streamplot似乎做了两件事,将箭头面片(类型FancyArrowPatch)添加到轴向PatchCollection(c.arrows)添加相同的箭头补丁。
虽然axisartist能够很方便地自定义坐标轴的位置和完美地设置箭头,但对于更多属性的设置有点乏力,很多参数的微调还是很花费时间的。

‘肆’ Python的turtle库画图使用中的问题

‘伍’ python数据可视化: 绘制箭头 matplotlib.pyplot.arrow()

【小白从小学Python、C、Java】 【考研初试+复试+毕业设计】 【Python基础+AI+数据分析】 python数据可视化: 绘制箭头 matplotlib.pyplot.arrow()

请问关于以下代码表述正确的选项是? import matplotlib.pyplot as plt print("【执行】plt.arrow(0, 0, 1, 1, head_width=0.1, head_length=0.1)") plt.arrow(0, 0, 1, 1, head_width=0.1, head_length=0.1) plt.xlim(0, 2) plt.ylim(0, 2) plt.show()

A选项:plt.arrow()用于绘制箭头 B选项:plt.arrow()用于创建折线图 C选项:plt.arrow()用于显示图像 D选项:plt.arrow()用于创建热力图

正确答案是:A

图1 问题解析

图2 题目代码

[太阳]温馨期待 期待大家提出宝贵建议,互相交流,收获更大,助教:lxy

阅读全文

与python画地图画箭头相关的资料

热点内容
c通过编译后形成的扩展名 浏览:431
java字符的unicode编码 浏览:404
密码每次加密都不一样 浏览:440
函数化编程的作用 浏览:955
车钥匙解压神器 浏览:150
matlabbfgs算法 浏览:576
java并发编程艺术pdf 浏览:850
android自定义scrollview 浏览:838
php函数fread 浏览:22
解压神器桌面版 浏览:214
android技术网站 浏览:408
有什么安卓平板打游戏好 浏览:524
破碎压缩制块设备 浏览:783
python中表示颜色的两种方式 浏览:352
应用图像命令 浏览:171
用python解决愚人节的礼物 浏览:445
查看远程电脑服务器地址 浏览:522
解压后怎么知道归档 浏览:179
s8视频加密路线在线 浏览:245
mc云服务器怎么安模组 浏览:384