【问题标题】:numpy array 2d showing in Ellipse Demo椭圆演示中显示的 numpy 数组 2d
【发布时间】:2020-04-11 15:29:10
【问题描述】:

我有一个 numpy 二维数组想在 Ellipse Demo 中显示它 第一行是颜色,第二行是感觉的总和,第三行

xz = np.array([['E6C637', '1692', 'well'],
       ['7EC31B', '1386', 'free'],
       ['595884', '1032', 'alone'],
       ['40B6B8', '905', 'comfortable'],
       ['99D013', '687', 'fine']])

在这段代码中:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse

NUM = 250

ells = [Ellipse(xy=np.random.rand(2) * 10,
                width=np.random.rand(), height=np.random.rand(),
                angle=np.random.rand() * 360)
        for i in range(NUM)]

fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})
for e in ells:
    ax.add_artist(e)
    e.set_clip_box(ax.bbox)
    e.set_alpha(np.random.rand())
    e.set_facecolor(np.random.rand(3))

ax.set_xlim(0, 10)
ax.set_ylim(0, 10)

plt.show()

【问题讨论】:

  • 复制的代码创建了 250 个随机椭圆。它们与您的数据有什么关系? “填充的总和”是什么意思?这是某种区域吗?如何定义椭圆的确切大小(宽度、高度?)和位置?
  • “感觉总和”对不起这个错误。
  • 高度和宽度是取数的每个地块的大小。 250 个随机省略号,默认情况下我没有更改此代码的任何内容
  • 但是你想要什么? 5个椭圆?第一个椭圆高度'1692'?第一个椭圆宽度也是'1692'?所以一个圈?在哪个位置?
  • 请看看这些图片,包括 1000 多个元素,我现在不知道这张图叫什么

标签: python arrays matplotlib jupyter-notebook ellipse


【解决方案1】:

以下代码将给定数据显示为pie chart

import matplotlib.pyplot as plt
import numpy as np

xz = [['E6C637', '1692', 'well'],
      ['7EC31B', '1386', 'free'],
      ['595884', '1032', 'alone'],
      ['40B6B8', '905', 'comfortable'],
      ['99D013', '687', 'fine']]
labels = [data[2] for data in xz]
sizes = [float(data[1]) for data in xz]
colors = ['#'+data[0] for data in xz]

fig1, ax1 = plt.subplots()
ax1.pie(sizes, labels=labels, colors=colors,
        autopct='%1.1f%%', startangle=90)
ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.
# plt.legend() # show a legend
plt.show()

【讨论】:

  • 如果这回答了你的问题,你可以考虑投票和/或accepting答案。
猜你喜欢
  • 1970-01-01
  • 2021-11-21
  • 2021-06-13
  • 2019-01-21
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多