相关疑难解决方法(0)

Matplotlib:避免在"散点/点/ beeswarm"图中重叠数据点

使用matplotlib绘制点图时,我想偏移重叠的数据点以使它们全部可见.例如,如果我有

CategoryA: 0,0,3,0,5  
CategoryB: 5,10,5,5,10  
Run Code Online (Sandbox Code Playgroud)

我希望每个CategoryA"0"数据点并排设置,而不是彼此重叠,同时仍然保持不同CategoryB.

在R(ggplot2)中有一个"jitter"选项可以做到这一点.在matplotlib中是否有类似的选项,还是有另一种方法可以导致类似的结果?

编辑:为了澄清, R中"beeswarm"情节基本上是我的想法,并且pybeeswarm是matplotlib/Python版本的早期但有用的开始.

编辑:添加版本0.7中引入的Seaborn的 Swarmplot,是我想要的一个很好的实现.

python charts matplotlib

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

在matplotlib中绘制三维散点图

我有一个scipy/numpy的Nx3矩阵集合,我想对它进行三维散射,其中X和Y轴由矩阵的第一列和第二列的值确定,每个条的高度是矩阵中的第三列,条数由N确定.

每个矩阵代表一个不同的数据组,我希望每个矩阵都用不同的颜色绘制,然后为整个图形设置图例.

我有以下代码:

fig = pylab.figure()
s = plt.subplot(1, 1, 1)
colors = ['k', "#B3C95A", 'b', '#63B8FF', 'g', "#FF3300",
          'r', 'k']
ax = Axes3D(fig)
plots = []
index = 0

for data, curr_color in zip(datasets, colors):
    p = ax.scatter(log2(data[:, 0]), log2(data[:, 1]),
                   log2(data[:, 2]), c=curr_color, label=my_labels[index])

    s.legend()
    index += 1

    plots.append(p)

    ax.set_zlim3d([-1, 9])
    ax.set_ylim3d([-1, 9])
    ax.set_xlim3d([-1, 9])
Run Code Online (Sandbox Code Playgroud)

问题是ax.scatter用透明度绘制东西,我想删除它.另外,我想设置xticks和yticks以及zticks - 我该怎么做?

最后,即使我为每个分散调用调用label ="",也不会出现图例调用.如何才能显示传奇?

非常感谢您的帮助.

python numpy data-visualization matplotlib scipy

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

标签 统计

matplotlib ×2

python ×2

charts ×1

data-visualization ×1

numpy ×1

scipy ×1