python – matplotlib散点图中的标记点

参见英文答案 > Display numbers instead of points using pyplot                                     1个
>             matplotlib scatter plot with different text at each data point                                    4个
编辑:这个问题不重复,我不想绘制数字而不是点数,我想在我的点旁边绘制数字.

我正在使用matplotlib创建一个情节.绘制[[3,9],[4,8],[5,4]]有三点

我可以轻松地用它们制作散点图

import matplotlib.pyplot as plt

allPoints = [[3,4]]

f,diagram = plt.subplots(1)

for i in range(3):
    xPoint =  allPoints[i][0]
    yPoint =  allPoints[i][1]
    diagram.plot(xPoint,yPoint,'bo')

这产生了这个情节:

plot

我想用数字1,2,3标记每个点.

基于this SO回答我试图使用注释来标记每个点.

import matplotlib.pyplot as plt

allPoints = [[1,3,[2,4,[3,5,diagram = plt.subplots(1)

for i in range(3):
    pointRefNumber = allPoints[i][0]
    xPoint =  allPoints[i][1]
    yPoint =  allPoints[i][2]
    diagram.annotate(pointRefNumber,(xPoint,yPoint))

这会产生一个空白图.我正在密切关注另一个答案,但它没有产生任何情节.我哪里弄错了?

解决方法

你可以这样做:

import matplotlib.pyplot as plt

points = [[3,4]]

for i in range(len(points)):
    x = points[i][0]
    y = points[i][1]
    plt.plot(x,y,'bo')
    plt.text(x * (1 + 0.01),y * (1 + 0.01),i,fontsize=12)

plt.xlim((0,10))
plt.ylim((0,10))
plt.show()

scatter_plot

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...