【问题标题】:How to draw a scatter plot where we get information for each points?如何绘制散点图以获取每个点的信息?
【发布时间】:2017-03-09 16:22:16
【问题描述】:

数据:

Taluka_name     Y         X
AKOLA         2509.5    103.03
AKOT          2007.8    91.23
BALAPUR       1384.3    109.47
BARSHI        1364.9    92.58
MURTIJAPUR    1209      100.37
PATUR         363.2     103.68
TELHARA      846.9      83.38

我想绘制一个散点图,我的点将显示这个 taluka_name 的这一点。

我想显示带有相应散点的“Taluka_name”。

我尝试了以下代码,但我在图中只得到了散点,没有对应的“Taluka_name”与点。

代码:

>>> import pandas as pd
>>> import matplotlib.pyplot as plt
>>> data = pd.read_csv('/home/desktop/Desktop/Akola.csv')
>>> df=data.set_index('Taluka_name')
>>> df.plot(kind='scatter', x='X', y='Y')
<matplotlib.axes._subplots.AxesSubplot object at 0x7fc051099390>
>>> plt.show()

【问题讨论】:

  • “我无法获取对应点的 Taluka_name”是无法理解的。清楚地说明生成的情节是什么样的,以及这在多大程度上不符合您的期望。通过edit提出您的问题来这样做。

标签: python-2.7 matplotlib


【解决方案1】:

我明白了,

>>> import pandas as pd
>>> import matplotlib.pyplot as plt
>>> data = pd.read_csv('/home/desktop/Desktop/Akola_kharif.csv')
>>> ax = data.plot.scatter(x='X', y='Y', alpha=0.5)
>>> for i, txt in enumerate(data.Taluka_name):
    ax.annotate(txt, (data.X.iat[i],data.Y.iat[i]))


<matplotlib.text.Annotation object at 0x7f668f2fc310>
<matplotlib.text.Annotation object at 0x7f668f2a0710>
<matplotlib.text.Annotation object at 0x7f668f2a0850>
<matplotlib.text.Annotation object at 0x7f668f2a0910>
<matplotlib.text.Annotation object at 0x7f668f2a09d0>
<matplotlib.text.Annotation object at 0x7f668f2a0a90>
<matplotlib.text.Annotation object at 0x7f668f2a0b50>
>>> plt.show()

【讨论】:

    猜你喜欢
    • 2021-04-25
    • 2017-08-21
    • 1970-01-01
    • 2018-01-20
    • 2018-07-21
    • 2023-01-09
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多