首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用轴坐标系使用matplotlib绘制一条线。

使用轴坐标系使用matplotlib绘制一条线。
EN

Stack Overflow用户
提问于 2019-08-02 14:10:37
回答 1查看 2.4K关注 0票数 4

我想要绘制一条垂直线,它横跨整个y轴,例如位于x轴位置,而不是数据轴。

根据这个答案 (显然不完全准确),axhline,axvline函数将在轴坐标中绘制一条水平/垂直线,如下所示:

采用轴线和轴线在轴坐标上绘制线的方法。

但这似乎行不通。The 轴系医生说

Y位置在数据坐标的水平线上。

果然,上面的答案中给出的代码显示:

与前面提到的答案(下面的代码)中显示的旧情节进行比较:

这是最近的变化,还是我遗漏了一些很明显的东西?如果它确实改变了,我现在如何在轴坐标上画一条线?

我正在使用Python3.7.3和matplotlib 3.1.0。

代码语言:javascript
复制
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 5, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y)
ax.axhline(y=0.5, xmin=0.0, xmax=1.0, color='r')
ax.hlines(y=0.6, xmin=0.0, xmax=1.0, color='b')

plt.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-02 14:39:13

回答问题

如果我想绘制一条垂直线,它横跨整个y轴,位于x轴的x=.25位置,而不是数据轴。我该怎么做?

在这种情况下,这条线的x坐标都是0.25,y坐标是0,下端是0,上端是1。将直线的变换设置为轴坐标系ax.transAxes

代码语言:javascript
复制
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.set(xlim=(0.5,1.5), ylim=(-50,50))

ax.plot([0.25,0.25],[0,1], transform=ax.transAxes)

plt.show()
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57328170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档