标签: annotate

matplotlib散点图,每个数据点都有不同的文本

我正在尝试制作散点图并使用列表中的不同数字注释数据点.所以例如我想绘制y vs x并使用n中的相应数字进行注释.

y = [2.56422, 3.77284, 3.52623, 3.51468, 3.02199]
z = [0.15, 0.3, 0.45, 0.6, 0.75]
n = [58, 651, 393, 203, 123]
ax = fig.add_subplot(111)
ax1.scatter(z, y, fmt='o')
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python text annotate matplotlib scatter-plot

202
推荐指数
7
解决办法
25万
查看次数

如何在ggplot2的注释中保持对齐文本

我的例子是:

qplot(mtcars$mpg) + annotate(geom = "text", x = 30, y = 3, label = "Some text\nSome more text")
Run Code Online (Sandbox Code Playgroud)

如何让这里的文字保持对齐?所以'有些人相互排队.

r annotate text-alignment ggplot2

75
推荐指数
1
解决办法
4万
查看次数

在图上标记python数据点

我搜索了几年(小时,就像年龄)找到一个非常讨厌(看似基本)问题的答案,因为我找不到一个非常适合答案的问题,我发布一个问题并回答它,希望它我将花费大量时间用于我的noobie绘图技巧.

如果你想使用python matplotlib标记你的绘图点

from matplotlib import pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

A = anyarray
B = anyotherarray

plt.plot(A,B)
for i,j in zip(A,B):
    ax.annotate('%s)' %j, xy=(i,j), xytext=(30,0), textcoords='offset points')
    ax.annotate('(%s,' %i, xy=(i,j))

plt.grid()
plt.show()
Run Code Online (Sandbox Code Playgroud)

我知道xytext =(30,0)与textcoords一起使用,你使用那些30,0值来定位数据标签点,所以它在0 y轴上,30在x轴上超过它自己的小区域.

您需要绘制i和j的两条线,否则您只绘制x或y数据标签.

你得到这样的东西(仅注意标签):
我自己的情节,标有数据点

它不理想,仍然有一些重叠 - 但它比我所拥有的更好.

python annotate matplotlib labels

68
推荐指数
2
解决办法
11万
查看次数

Matplotlib重叠注释/文本

我试图在我的图表中停止注释文本重叠.在接受Matplotlib重叠注释的答案中建议的方法看起来非常有希望,但是对于条形图而言.我无法将"轴"方法转换为我想要做的事情,而且我不明白文本是如何排列的.

import sys
import matplotlib.pyplot as plt


# start new plot
plt.clf()
plt.xlabel("Proportional Euclidean Distance")
plt.ylabel("Percentage Timewindows Attended")
plt.title("Test plot")

together = [(0, 1.0, 0.4), (25, 1.0127692669427917, 0.41), (50, 1.016404709797609, 0.41), (75, 1.1043426359673716, 0.42), (100, 1.1610446924342996, 0.44), (125, 1.1685687930691457, 0.43), (150, 1.3486407784550272, 0.45), (250, 1.4013999168008104, 0.45)]
together.sort()

for x,y,z in together:
    plt.annotate(str(x), xy=(y, z), size=8)

eucs = [y for (x,y,z) in together]
covers = [z for (x,y,z) in together]

p1 = plt.plot(eucs,covers,color="black", alpha=0.5)

plt.savefig("test.png")
Run Code Online (Sandbox Code Playgroud)

图像(如果有效)可以在这里找到(此代码):

此搜索

而 …

python annotate matplotlib

44
推荐指数
3
解决办法
3万
查看次数

Matplotlib:将字符串添加为自定义x-ticks,还保留现有(数字)刻度标签?matplotlib.pyplot.annotate的替代品?

我试图生成一个图表,我有一些问题注释它.

我的图表在x轴上有一个对数刻度,显示时间.我希望能够做的是将现有(但不可预测)的数字刻度标签保持在100个单位,1000个单位,10000个单位等,还要在x轴上添加自定义刻度标签,以便更清楚"人类"可读的"时间间隔发生 - 例如我希望能够标记'一周','一个月','六个月'等.

我可以使用matplotlib.pyplot.annotate()来标记点,但它并没有真正做我想要的.我真的不想在图表上方放置文字和箭头,我只想添加一些额外的自定义刻度标记.有任何想法吗?

python annotate matplotlib axis-labels

18
推荐指数
3
解决办法
3万
查看次数

很困惑......在Django中使用'annotate'的问题

所以我有两个模型,一个排名模型和一个UserRanking模型.该应用程序以人们列出项目并对其进行排名为中心(例如:"2008年最佳电影").排名模型是总排名列表,它是根据人们为该列表创建的所有不同UserRankings计算的.因此,对于每个排名,有一堆不同的UserRankings,每个用户通过提交他们的排名版本的列表给出他/她的意见.UserRanking模型有一个名为"ranking"的ForeignKey字段,它指向Ranking模型.

无论如何,我正在努力收集流行的排名.我的第一步是使用以下代码行获得与他们相关联的大多数UserRankings的排名:

popular = Ranking.objects.all().annotate(num_user_rankings=Count('userranking')).order_by('num_user_rankings')[:50]
Run Code Online (Sandbox Code Playgroud)

但是,Django给了我一个NameError并说:"全局名称'Count'未定义".它没有抱怨注释(只在Django Development版本中可用),这意味着Django开发工作正常吗?"计数"在Django文档中清楚地描述为几个可用作注释arg的聚合函数之一.这绝对没有意义.

事实上,我只是测试了它,并且我能够使用没有参数的注释来显示我的页面,并且它没有给我任何错误(显然我也删除了order_by).因此注释确实有效!

sorting django annotate

14
推荐指数
1
解决办法
7466
查看次数

django聚合或注释

这是一个非常愚蠢的事情,我知道,但我似乎没有得到Django聚合和注释函数的句柄.

我有一个非常简单的模型集:Events,AreasTypes.一个事件有外键指向AreaType.我只想为任何区域提供即将发生的事件的数量,对于任何类型都是相同的,即Area1-5即将发生的事件,Area2-6Type1-34事件等等.

我想避免编写自定义SQL,并尽可能使用q运算符.

django aggregate annotate

14
推荐指数
2
解决办法
4万
查看次数

在iPhone SDK中注释PDF

我已经设法在我的应用程序中实现了一个非常基本的PDF查看器,但是想知道是否可以向PDF添加注释.我查看了SDK文档,但没有找到任何内容.我真的有两个问题:

  1. 是否有可能做到这一点?
  2. 最好的方法是什么?
  3. 我可以包含一个框架或库来帮助解决这个问题吗?

谢谢.

pdf iphone annotate

13
推荐指数
1
解决办法
1万
查看次数

使用平均日期差异注释查询集?(django的)

我在各处搜索了一个答案但找不到任何东西.也许这只是一个愚蠢的问题或一个非常棘手的问题.这里是:

假设我的模型是这个(伪django代码):

Event
  type = ForeignKey(EventType)
  name = CharField
  date_start = DateField
  date_end = DateField

EventType
  name = CharField
Run Code Online (Sandbox Code Playgroud)

我想知道的是每种事件类型的平均持续时间.我现在所做的是计算创建新事件时的平均持续时间(保存方法)并将其存储在EventType的average_duration列中.这种方法的问题在于我无法回答诸如" 在Y年期间 X型事件的平均持续时间是多少"这样的问题.因此,我不想添加更多列来回答这些问题,而是希望"实时"完成.

这可以通过注释查询集来完成吗?首先,我必须得到每种事件类型的日期差异,然后得出它们的平均值,然后用这个平均值注释事件查询集,我假设.

django date annotate django-queryset

13
推荐指数
2
解决办法
6882
查看次数

多个注释和术语产生膨胀的答案

在下面的设置中,我想要一个带有项目列表的QuerySet,每个项目都注释了所有任务持续时间(作为tasks_duration)的总和以及所有任务的子任务持续时间的总和(asasasks_duration).我的模型(简化)看起来像这样:

class Project(models.Model):
    pass

class Task(models.Model):
    project = models.ForeignKey(Project)
    duration = models.IntegerField(blank=True, null=True)

class SubTask(models.Model):
    task = models.ForeignKey(Task)
    duration = models.IntegerField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

我像这样制作我的QuerySet:

Projects.objects.annotate(tasks_duration=Sum('task__duration'), subtasks_duration=Sum('task__subtask__duration'))
Run Code Online (Sandbox Code Playgroud)

Django annotate()中解释的行为相关的多次导致错误的答案我得到的task_duration比它应该高得多.多个annotate(Sum())子句在结果SQL中产生多个左内连接.对于tasks_duration只有一个注释(Sum())项,结果是正确的.但是,我想同时拥有tasks_duration和subtasks_duration.

什么是适合这种查询的方法?我有一个工作解决方案,按项目执行,但预计会非常缓慢.我也有类似的工作与extra()调用,但我真的想知道我想要的纯粹Django是否可能.

django annotate django-queryset

13
推荐指数
2
解决办法
2326
查看次数