以周期为单位绘制刻度线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以周期为单位绘制刻度线相关的知识,希望对你有一定的参考价值。
我有一个包含4列的文件,其意思是,起点的坐标(x1,y1),终点的坐标(x2,y2)。我需要绘制许多连接这两个点的线。它具有不同的y值,x值是旁边的xtics数量。您能建议我一个在同一图中绘制这些线的周期吗?
2 11.6414 3 9.2395
3 9.23494 4 8.43797
3 9.2395 4 8.43797
1 6.46786 2 1.69241
1 8.76289 2 1.69241
1 8.76289 2 7.04954
2 11.6414 3 9.2395
3 9.2395 4 8.43797
4 10.3475 5 9.69117
4 10.7528 5 9.69117
4 10.7528 5 10.3576
4 11.0156 5 9.69117
5 11.199 6 11.021
1 6.46786 2 1.69241
1 8.76289 2 1.69241
4 11.3245 5 11.199
5 11.199 6 11.021
6 11.021 5 9.69117
6 11.021 5 10.3576
通知后我有
dfr = pd.read_csv('souradnice.csv')
dfr.columns = ['x1', 'y1', 'x2', 'y2']
dfr['dx'] = dfr.x2 - dfr.x1 # rozdíl x-ovových hodnot
dfr['dy'] = dfr.y2 - dfr.y1 # rozdíl y-ových hodnot
q = ax.quiver(dfr.x1, dfr.y1, dfr.dx, dfr.dy, units='xy', scale=1)
ax.set_aspect('equal')
plt.xlim(0, 6)
plt.ylim(0, 12)
答案
使用matplotlib.pyplot.quiver
:
- 使用颤动需要计算
matplotlib.pyplot.quiver
和dx
dy
情节:
- 请查阅
import pandas as pd df = pd.read_csv('souradnice.csv', header=None, names=['x1', 'y1', 'x2', 'y2'], dtype='float') # add sep=' ' if values are space separated df['dx'] = df.x2 - df.x1 df['dy'] = df.y2 - df.y1 x1 y1 x2 y2 dx dy 2 11.64140 3 9.23950 1 -2.40190 3 9.23494 4 8.43797 1 -0.79697 3 9.23950 4 8.43797 1 -0.80153 1 6.46786 2 1.69241 1 -4.77545 1 8.76289 2 1.69241 1 -7.07048 1 8.76289 2 7.04954 1 -1.71335 2 11.64140 3 9.23950 1 -2.40190 3 9.23950 4 8.43797 1 -0.80153 4 10.34750 5 9.69117 1 -0.65633 4 10.75280 5 9.69117 1 -1.06163 4 10.75280 5 10.35760 1 -0.39520 4 11.01560 5 9.69117 1 -1.32443 5 11.19900 6 11.02100 1 -0.17800 1 6.46786 2 1.69241 1 -4.77545 1 8.76289 2 1.69241 1 -7.07048 4 11.32450 5 11.19900 1 -0.12550 5 11.19900 6 11.02100 1 -0.17800 6 11.02100 5 9.69117 -1 -1.32983 6 11.02100 5 10.35760 -1 -0.66340
文档,因为有许多用于更改线条和箭头外观的参数。 quiver
Advanced quiver and quiverkey functions
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(10, 10))
q = ax.quiver(df.x1, df.y1, df.dx, df.dy, units='xy', scale=1)
plt.grid()
ax.set_aspect('equal')
plt.xlim(0, 6)
plt.ylim(0, 12)
plt.show()
以上是关于以周期为单位绘制刻度线的主要内容,如果未能解决你的问题,请参考以下文章