matplotlib - 如何切割连接的图形线?
解决方案
此错误可能是因为您在 x 轴上绘制的数据未排序,并且您的 y 轴数据未与排序x
数据配对。
为了说明这一点,考虑尝试绘制y=x^2
x = np.array([1,3,5,6,2,4,8,7])
y = np.array([1,9,25,36,4,16,64,49])
plt.plot(x,y)
Python 正在根据它们在数组中的索引绘制点并连接连续点之间的线。要以正确的顺序获取数据,您可以np.argsort
对数组中的元素进行排序并返回已排序元素的索引。
xnew = x[np.argsort(x)]
ynew = y[np.argsort(x)]
plt.plot(xnew, ynew)
需要注意的是,我们要y
根据它们的x
值对值进行排序,这就是np.sort
不使用的原因。
对于您的数据集,我将为排序索引创建一个变量
indx = np.argsort(mean_spd_per_time_array[:, 0])
然后创建新的x
和y
变量来绘制
# Sort the data according to x values
x = mean_spd_per_time_array[:, 0][indx]
y = mean_spd_per_time_array[:, 1][indx]
推荐阅读
- java - 为 Firebase 管理员编译代码时出错
- laravel - lumen 5.7 - 如何获取具有 where 条件的 UNIX 时间戳整数格式日期记录
- oracle - jaas 配置内容读取为默认值 [Kerberos]
- python - 多变量和多步 LSTM
- c# - 构建和发布 iot edge 示例解决方案时出错“/bin/sh/ -c useradd -ms /bin/bash moduleuser 返回非零代码:1”
- python - 如何使用 Python 3 将字符串中的所有 unicode 代码“翻译”为实际符号?
- django - django rest frame work API Test case (Authentication needed)
- json - In laravel, how can I echo out form results in json format, after submitting?
- javascript - How to programmatically add a css rule to an element
- go - 为什么子进程“sleep 10”没有终止?