python在笛卡尔坐标轴下绘制图形

# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt
import numpy as np
import mpl_toolkits.axisartist as axisartist    #创建画布
fig = plt.figure(figsize=(8, 8))
#使用axisartist.Subplot方法创建一个绘图区对象ax
ax = axisartist.Subplot(fig, 111)  
fig.add_axes(ax)        #将绘图区对象添加到画布中
#通过set_visible方法设置绘图区所有坐标轴隐藏
ax.axis[:].set_visible(False)

#ax.new_floating_axis代表添加新的坐标轴
ax.axis["x"] = ax.new_floating_axis(0,0)
#给x坐标轴加上箭头
ax.axis["x"].set_axisline_style("->", size = 1.0)
#添加y坐标轴,且加上箭头
ax.axis["y"] = ax.new_floating_axis(1,0)
ax.axis["y"].set_axisline_style("-|>", size = 1.0)
#设置x、y轴上刻度显示方向
ax.axis["x"].set_axis_direction("top")
ax.axis["y"].set_axis_direction("right")


x = np.linspace(-10, 10, 100)
y=x
plt.title("y=x")    #设置图名
plt.xlabel("x")           #设置x轴标签
plt.ylabel("y");         #设置y轴标签

plt.plot(x, y, 'r', label='y=x')
plt.plot(-x, y, '--g', label='y=-x')
#plt.scatter(x, y, marker='o')
plt.axis('tight')
plt.legend();        #创建图例
fig.savefig('C:/variety_project/math_picture/01/y=ax.png')

你可能感兴趣的:(python在笛卡尔坐标轴下绘制图形)