python - 在 Python 中绘制曲线
问题描述
我想绘制特定拱形形状的曲线,下面是我使用特定值(需要使用这些值)得到的距离,但它绘制的是直线。
我也无法按照我想要的方式格式化 y 轴。这是一个对数刻度,我希望它达到 1(就像上面的理想图一样)。一些帮助会很棒,谢谢!=)
解决方案
您的线未在对数刻度图上拉伸的原因是因为顶部和底部的点之间没有点。log plot
不弯曲线,只是将点放在不同的比例上,它们之间的线仍然是直的。
为了改变这一点,我们在点之间添加更多点。结果会变得弯曲。
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import ScalarFormatter
# Data for plotting
t = [0.0, 62.5, 125.0, 187.5, 250, 312.5, 375, 437.5, 500]
s = [0.1, 0.005, 0.1, 0.005, 0.1, 0.005, 0.1, 0.005, 0.1]
def extendlist(l):
master = []
for i in range(len(l)-1):
x = np.linspace(l[i], l[i+1], 50)
master.extend(x)
return master
t = extendlist(t)
s = extendlist(s)
fig, ax = plt.subplots()
ax.semilogy(t, s)
ax.set(xlabel='x axis', ylabel='y axis', title='Stuff')
plt.xlim((0,500))
plt.ylim((0.001, 1))
plt.show()
这将生成您在纸上绘制的图形。
推荐阅读
- c++ - C++ 是否保证 std::placeholders::_N 的最小数量?
- node.js - AWS Cloudwatch 警报问题
- c# - 关闭子页面后父页面中的Gridview不刷新 - ASP.NET WEB APP
- python - 尝试使用没有 null=True 或默认设置的外键迁移模型时出现 Django 错误
- android - Jetpack 撰写项目高度优先 - 文本换行内容和图像填充剩余空间
- google-apps-script - 尝试触发加载项时,Google 表格宏返回错误
- postgresql - postgresql groupby 计数日期之间的位置
- c++ - 分段错误(核心转储) - C++ 错误
- jenkins - 与 OKTA 集成时无法访问 jenkins 服务器
- php - 链接 2 个 ID 以显示任一 ID,具体取决于正在寻址的 ID