【问题标题】:Plot data with different types of values in python在 python 中绘制具有不同类型值的数据
【发布时间】:2019-01-31 20:16:51
【问题描述】:

所有数据点均为蓝色。我希望 y 轴上 ID-0000 的数据点颜色不同。

我想在 python 中绘制如下数据集:

Timestamp   ID
0.0000      0000
0.000271    0080
0.000495    0000
0.000736    0081
0.000983    0000
0.001239    0165
0.001484    0000
0.001736    018f
0.001984    0000
0.002229    02a0
0.002465    0000
0.002654    02b0
0.002915    0000
0.003143    0316

请帮忙。 谢谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow。你可以看看here
  • 你试过最明显的df.plot()...
  • @VasilisG。嗨,我已经尝试过了,但输出中没有显示任何情节。此外,没有错误,但输出为空白。
  • 您的 ID 是一些字符串,而不仅仅是数字。你期望什么输出图?
  • @Lovleen 你能包括给出情节的代码吗?目前尚不清楚该颜色将编码什么信息...... id 与0000 不同的所需颜色是什么?

标签: python python-3.x matplotlib dataset


【解决方案1】:

这是一个使用 Numpy 和 Matplotlib 的解决方案:

import numpy as np
import matplotlib.pylab as plt

timestamp = np.linspace(0, 1, 7)
ID = np.array(['0000', '0080', '0000', '018f', '0uu00', 'hello', '0000'])
zero_points = (ID == '0000')  # define a selection mask
non_zero_points = np.logical_not(zero_points)

plt.plot(timestamp[non_zero_points],  ID[non_zero_points], 'bo', label='not 0000')
plt.plot(timestamp[zero_points],  ID[zero_points], 'ro', label='0000')
plt.xlabel('time'); plt.ylabel('values'); plt.legend();

给出:

这个想法是创建一个布尔数组,稍后用于选择每组点。 (可能有更好的写法,例如为散点图中的每个点设置一个颜色值...)

【讨论】:

    猜你喜欢
    • 2020-06-18
    • 1970-01-01
    • 2019-11-29
    • 1970-01-01
    • 2012-05-08
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    相关资源
    最近更新 更多