python以画布中心为原点画出坐标轴
时间: 2024-05-14 07:19:36 浏览: 7
好的,您可以使用Python的matplotlib库来绘制坐标轴。以下是一个简单的例子:
``` python
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# 设置坐标轴线和刻度的属性
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('center')
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
# 绘制坐标轴
plt.xlim(-5, 5)
plt.ylim(-5, 5)
plt.plot([0, 0], [-5, 5], '-k', lw=1.5)
plt.plot([-5, 5], [0, 0], '-k', lw=1.5)
# 添加坐标轴标签
plt.xlabel('x')
plt.ylabel('y')
plt.show()
```
这段代码将在画布中央绘制一个以原点为中心的坐标轴。您可以通过调整 `plt.xlim()` 和 `plt.ylim()` 来设置坐标轴的范围,并通过修改 `plt.plot()` 中的参数来调整坐标轴的外观。
相关问题
python写程序,创建300*300画布,以画布中心为原点画出坐标轴,按以下公式绘制函数曲线,要求使用Canvas或者Turtle绘图方法实现
好的,以下是使用 Python 的 Tkinter 模块和 Canvas 组件实现的绘制程序:
```python
import tkinter as tk
import math
# 创建窗口和画布
root = tk.Tk()
root.title("函数曲线绘制")
canvas = tk.Canvas(root, width=300, height=300, bg="white")
canvas.pack()
# 坐标轴原点
origin_x, origin_y = 150, 150
# 画坐标轴
canvas.create_line(0, origin_y, 300, origin_y, width=2, arrow=tk.LAST)
canvas.create_line(origin_x, 0, origin_x, 300, width=2, arrow=tk.LAST)
# 绘制函数曲线
x, y = -150, math.sin(-150/50)*100
points = []
while x <= 150:
points.append(x+origin_x)
points.append(origin_y-y)
x += 0.1
y = math.sin(x/50)*100
canvas.create_line(points, fill="red", width=2)
root.mainloop()
```
程序首先创建了一个 300x300 的画布,然后使用 Tkinter 的 Canvas 组件绘制了坐标轴。接着根据给定的函数公式计算出曲线上的点,将它们存储在一个列表中,最后使用 Canvas 的 create_line 方法绘制函数曲线。
运行程序后,会弹出一个窗口,显示绘制出来的函数曲线。
写程序,创建300*300画布,以画布中心为原点画出坐标轴,按以下公式绘制函数曲线,要求使用Canvas或者Turtle绘图方法实现
好的,以下是实现该程序的Python代码,使用的是Turtle库:
```python
import turtle
import math
# 设置画布大小
turtle.setup(600, 600)
turtle.speed(0)
turtle.hideturtle()
# 画坐标轴
turtle.penup()
turtle.goto(-300, 0)
turtle.pendown()
turtle.goto(300, 0)
turtle.penup()
turtle.goto(0, -300)
turtle.pendown()
turtle.goto(0, 300)
# 绘制函数曲线
turtle.penup()
x = -300
y = math.sin(x/50) * 100
turtle.goto(x, y)
turtle.pendown()
for i in range(-300, 300):
x = i
y = math.sin(x/50) * 100
turtle.goto(x, y)
turtle.done()
```
程序首先设置了画布大小为600x600,然后使用Turtle库绘制了坐标轴。接着根据给定的函数公式绘制了函数曲线。
运行程序后,会弹出一个窗口,显示绘制出来的函数曲线。