How I can get cartesian coordinate system in matplotlib?

后端 未结 5 767
悲哀的现实
悲哀的现实 2020-12-03 07:11

I am new to plotting with Python and can\'t really find an answer to the question: How can I get Cartesian coordinate plane in matplotlib? By this I mean perpendicular refe

5条回答
  •  一个人的身影
    2020-12-03 08:02

    If you just want to plot some dots, scatter is what you want

    from pylab import *
    
    x = [0,2,-3,-1.5]
    y = [0,3,1,-2.5]
    color=['m','g','r','b']
    
    scatter(x,y, s=100 ,marker='o', c=color)
    
    show()
    

    For pretty printing ( with arrows and dashed lines ) :

    from pylab import *
    import matplotlib.pyplot as plt
    
    x = [0,2,-3,-1.5]
    y = [0,3,1,-2.5]
    color=['m','g','r','b']
    
    fig = plt.figure()
    ax = fig.add_subplot(111)
    
    scatter(x,y, s=100 ,marker='o', c=color)
    
    [ plot( [dot_x,dot_x] ,[0,dot_y], '-', linewidth = 3 ) for dot_x,dot_y in zip(x,y) ] 
    [ plot( [0,dot_x] ,[dot_y,dot_y], '-', linewidth = 3 ) for dot_x,dot_y in zip(x,y) ]
    
    left,right = ax.get_xlim()
    low,high = ax.get_ylim()
    arrow( left, 0, right -left, 0, length_includes_head = True, head_width = 0.15 )
    arrow( 0, low, 0, high-low, length_includes_head = True, head_width = 0.15 ) 
    
    grid()
    
    show()
    

    There is still some work to do, but it is not far from the result :

    enter image description here

提交回复
热议问题