Python 使用matplotlib映射加号
我想使用mapplotlib绘制一个加号,如下所示:Python 使用matplotlib映射加号,python,matplotlib,Python,Matplotlib,我想使用mapplotlib绘制一个加号,如下所示: _ _| |_ |_ _| |_| 我一直在阅读matplotlib文档,但坦率地说,我甚至不确定要搜索什么来解决我的问题。实际上,我希望在同一个X轴上有两个点(即垂直线),但我似乎不知道如何做到这一点。理想情况下,我希望用一组绘图点来完成这项工作,尽管我知道这是不可能的 如果我能以任何方式澄清我的问题,请告诉我 将所需的图形绘制在图形纸上 写下角点的x,y值 将这些值按相同顺序放入一对列表中(一个用于x,一个用于y) 画出
_
_| |_
|_ _|
|_|
我一直在阅读matplotlib文档,但坦率地说,我甚至不确定要搜索什么来解决我的问题。实际上,我希望在同一个X轴上有两个点(即垂直线),但我似乎不知道如何做到这一点。理想情况下,我希望用一组绘图点来完成这项工作,尽管我知道这是不可能的
如果我能以任何方式澄清我的问题,请告诉我
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> y =[10, 20, 20, 30, 30, 40, 40, 30, 30, 20, 20, 10, 10]
>>> x =[10, 10, 0, 0, 10, 10, 20, 20, 30, 30, 20, 20, 10]
>>> line, = ax.plot(x, y, 'go-')
>>> ax.grid()
>>> ax.axis('equal')
(0.0, 30.0, 10.0, 40.0)
>>> plt.show()
生成:如果您想进行一些搜索,您应该找到一些如何创建自定义标记的链接。我想回答你的问题最好的办法就是用一个物体作为标记。因此,您可以创建一个创建所需路径的函数(我懒得写十字,所以我选择了一个更简单的矩形): 现在,您可以使用所需的自定义标记打印任何数据:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
figure = plt.figure()
axes = figure.add_subplot(1, 1, 1)
axes.plot(x, y, marker=getCustomMarker(), markerfacecolor='none', markersize=3)
plt.show()
这使您可以在任何位置绘制任何标记,使其达到所需的大小。值得一提的一个简单方法是使用
zip(*任意)
,例如x,y=zip(*顶点)
将[(1,2)、(2,4)、(3,6)]
解包成(1,2,3)
和(2,4,6)
,我可以在以后添加它,我不想把事情复杂化情节代码是什么?我试过用plt.plot(x,,,y,,)但是看起来一点都不对劲。我很困惑一个正方形的自定义标记是如何解决我的问题的?
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
figure = plt.figure()
axes = figure.add_subplot(1, 1, 1)
axes.plot(x, y, marker=getCustomMarker(), markerfacecolor='none', markersize=3)
plt.show()