在数据中,对于每个x,y值绘制水平和垂直线。

11 浏览
0 Comments

在数据中,对于每个x,y值绘制水平和垂直线。

我正在使用以下代码绘制散点图:\n

fig, ax = plt.subplots(figsize=(20, 15))
ax.scatter(found_devices_df['time'], found_devices_df['label'], c=found_devices_df['label'],
           marker='.', s=found_devices_df['count']*100, alpha=.6)
fig.autofmt_xdate()

\n我想要在x轴和y轴的每个级别上分别绘制水平线和垂直线(不是等距的网格)。我的x轴上有时间戳,y轴上有设备类型。\n我应该如何使用ax.hlineax.vline来实现这一点?\n我尝试使用ax.axvline(found_devices_df[\'time\'], color=\"red\", linestyle=\"--\")来绘制每个x时间戳的垂直线,但出现错误ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

0
0 Comments

问题:如何在给定的数据中为每个x、y值绘制水平和垂直线?

原因:在给定的数据中,需要绘制每个x、y值对应的水平和垂直线。

解决方法:使用matplotlib库的vlines()和hlines()函数来绘制水平和垂直线。

具体步骤如下:

1. 导入numpy和matplotlib.pyplot库:

import numpy as np
import matplotlib.pyplot as plt

2. 创建一个图形对象和一个坐标轴对象:

fig, ax = plt.subplots()

3. 生成数据:

n = 25
x, y = np.random.rand(2, n)

4. 绘制散点图:

ax.scatter(x, y, c=color, s=scale, label=color, alpha=0.8, edgecolors='none')

5. 绘制垂直线:

ax.vlines(x, ymin=0.0, ymax=1.0, color=color, linestyle="--")

6. 绘制水平线:

ax.hlines(y, xmin=0.0, xmax=1.0, ...)

7. 显示图形:

plt.show()

通过以上步骤,可以在给定的数据中为每个x、y值绘制水平和垂直线。

图像示例:

![enter image description here](https://i.stack.imgur.com/IGMPA.png)

0