【问题标题】:python/mathplotlib plot equivalent of R's symbol plot?python/matplotlib plot 相当于 R 的符号图?
【发布时间】:2019-07-08 23:45:27
【问题描述】:

有没有类似的python?

符号   包:图形   R 文档

绘制符号(圆形、正方形、星形、温度计、箱线图)

说明:

此函数在绘图上绘制符号。六个符号之一; 圆形正方形矩形星星温度计boxplots,可以绘制在一组指定的 x 和 y 坐标。符号的特定方面,例如相对 尺寸,可通过附加参数自定义。

【问题讨论】:

  • 如果你用 python 表示使用 matplotlib,你可以使用 scatter 绘图。对于箱线图,使用boxplot,而对于温度计......不知道会是什么样子,但如果有它的 unicode 符号,它可以被绘制。

标签: python r matplotlib plot


【解决方案1】:

您可以使用在给定点绘制特定大小的圆

import matplotlib.pyplot as plt
circle=plt.Circle((0,0),.2,color='r')
plt.add_artist(circle)

格式为Circle(x, y), radius),其中xy 是图中中心的位置。更多细节和解释请见this question

给定大小的矩形(或正方形)

import matplotlib.pyplot as plt
import matplotlib.patches as patches

rect = patches.Rectangle((50,100),40,30,facecolor='none')
plt.gca().add_patch(rect)

格式为Rectangle((x, y), w, h),其中xy 是图中左上角的坐标,w 是宽度,h 是高度。

您可以使用

制作任意多边形(即星形)
import matplotlib.pyplot as plt
import matplotlib.patches as patches

poly = patches.Polygon(points, facecolor='None')
plt.gca().add_patch(poly)

其中points 是多边形顶点的numpy 形状数组Nx2(其中N 是点数)。 polygonrectangle 的 matplotlib 文档提供了更多信息(包括关键字参数)。我只是想要那些符号作为标记,你可以简单地做

plt.scatter(x, y, marker='*')

其中xy 是数组或类似数组的坐标,您希望标记所在的坐标。可以根据 matplotlib markers 文档指定使用的标记。您还可以通过提供 path 来绘制自定义标记,类似于绘制 polygon 的方式。

【讨论】:

  • 真正的问题不是如何绘制温度计吗?
  • @ImportanceOfBeingErnest 我没有看到 OP 在哪里指定他们感兴趣的符号。我包括了 polygon 方法和关于自定义标记的注释作为绘制“温度计”的可能方式,我不知道有什么更好的方法——尽管我确信它存在。
  • 他们要求的符号列表是圆形、正方形、矩形、星形、温度计和箱线图。现在,该列表中的每个项目都存在 Stackoverflow 答案,“thermomenter”除外。因此,这里唯一的主题、非重复问题是如何绘制温度计,对吧?
  • 我收到一个错误:>>>> import matplotlib.pyplot as plt>>> import matplotlib.patches as patches>>> rect = patches.Rectangle((50,100),40,30,facecolor='none')>>> plt.add_patch(rect)Traceback (most recent call last):`文件“”,第 1 行,在 `AttributeError: module 'matplotlib.pyplot' has no attribute 'add_patch'
  • @SteveDutky 啊,是的,你需要一个用于add_patch 的轴手柄,我的错。查看编辑后的解决方案
猜你喜欢
  • 2014-03-17
  • 2011-06-25
  • 1970-01-01
  • 2014-10-31
  • 2017-09-10
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
相关资源
最近更新 更多