使用Matplotlib绘制坐标线

时间:2016-08-18 13:00:35

标签: python matlab matplotlib plot

我想使用matplotlib绘制坐标系统的坐标线(例如笛卡尔坐标系)。

然后我想使用一些线性变换(倾斜,缩放,旋转等)来变换它们,我想绘制系统的这个变换版本。

我对matplotlib很新,我不知道如何做到这一点。有什么建议吗?

这样的事情:

enter image description here

不必与上面的图相同,我只想绘制线条(以及形状及其转换版本)。

编辑:如果你有一个MATLAB解决方案,我也会接受它。

2 个答案:

答案 0 :(得分:1)

这可以让你开始走上正确的轨道

func imagePressed(gestureRecognizer: UITapGestureRecognizer)
{
   print("image pressed \(gestureRecognizer)")
   let tappedImageVIew = gestureRecognizer.view as! UIImageView
   print("image pressed \(tappedImageVIew.tag)")
}

答案 1 :(得分:1)

user2539738's answer演示了如何在绘图中绘制网格。下一步是应用转换。这是一种数学运算,可以描述为x和y坐标的函数。例如,剪切变换就像您的示例图像 -

# Transformed grid
for x in xx:
    (x1, y1) = my_transform(x, min(yy))
    (x2, y2) = my_transform(x, max(yy))
    plt.plot([x1,x2],[y1,y2],color='r')
for y in yy:
    (x1, y1) = my_transform(min(xx), y)
    (x2, y2) = my_transform(max(xx), y)
    plt.plot([x1,x2],[y1,y2],color='r')

考虑到这一点,您可以绘制转换后的网格。您只需计算新坐标:

x, min(yy)

将变换后的网格绘制成红色。第一个for循环绘制了网格的垂直线(从点x, max(yy)for character in "Dog!".characters { print(character) } for character in "Dog!".unicodeScalars { print(character) } ),第二个绘制了水平线。变换函数应用于原始点对,以计算变换线的新端点。