将每个数组的散点移动 delta x

2024-06-02

I'm trying to sort out a plot which at the moment looks like this: it's a scatterplot of a series of 17 different groups, each corresponding to a specific colour

我正在尝试找出如何针对不同的情况进行轮班dx每个数据集的值,在这种模式下,系列的最后一项保持在中心(在这种情况下q),而前 8 个项目(从 a 到 h)将向左移动,后 8 个向右移动(从 g 到 p),每个项目都有不同的偏移量。

我有两个形状为 (12, 17) 的数组(M 和 M1)对于循环中的每个项目,因此该形状对应于one散点的颜色。

    import matplotlib.cm as cm
    import matplotlib
    import matplotlib.pyplot as plt
    import numpy as np

    fig, ax0 = plt.subplots (nrows=1, ncols=1)

    months_expanded = np.zeros((12,17))  
    months = np.arange(1, 13)
    M  = np.random.rand(12,17)
    M1 = np.random.rand(12,17)
    datalist = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q']

    for idx, sub in enumerate(datalist):
        for i in range(0,12):
            months_expanded[i] = np.repeat(months[i], 17)

        difference = abs(M - M1)

        ax0.scatter(months_expanded[:, idx], difference[:, idx], label = sub)                       

        colormap = plt.cm.gist_ncar                                                 
        colorst = [colormap(i) for i in    np.linspace(0,0.9,len(ax0.collections))]       
        for t,j1 in enumerate(ax0.collections):
            j1.set_color(colorst[t])

       ax0.legend(loc='center left', bbox_to_anchor=(1, 0.5))
       ax0.yaxis.grid(True)
       ax0.xaxis.grid(True)

       matplotlib.rcParams.update({'font.size': 30})
    fig.set_size_inches(20,20)
    fig.savefig(outfile, bbox_inches='tight')

您可以预定义偏移并创建一组包含偏移的 x 值。请参阅下面的最小示例来说明这一点:

import numpy as np
import matplotlib.pyplot as plt

N = 5 # This would be 17 in your case

# Create offsets
dx = np.linspace(-0.5, 0.5, N)
# Put last data set in centre
dx[N//2:] += (dx[1]-dx[0])
dx[-1] = 0.0
dx_expanded = np.repeat(dx, 12).reshape(N, 12)

# X-values to be shifted
months = np.arange(1, 13)
months_expanded = np.tile(months, N).reshape(N, 12)
months_shifted = months_expanded + dx_expanded

# Y-values
M  = np.random.rand(12,N)
M = np.linspace(1, 5, 12)
M = np.tile(M, N).reshape(N,12)

# Plot results
for idx in range(N):
  plt.scatter(months_shifted[idx], M[idx])
plt.show()

Result: enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将每个数组的散点移动 delta x 的相关文章

  • Matplotlib 图例不工作

    自从升级 matplotlib 以来 每当尝试创建图例时 我都会收到以下错误 usr lib pymodules python2 7 matplotlib legend py 610 UserWarning Legend does not
  • 将两个高斯组合成另一个高斯[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 在下面的代码中 我有两个高斯曲线 一个是红色 另一个是紫色曲线 我想知道Python中是否有一种方法可以将高斯曲线组合到第三条曲线 该曲线应
  • 如何绘制多个子图

    我对这段代码的工作原理有点困惑 fig axes plt subplots nrows 2 ncols 2 plt show 在这种情况下 图轴如何工作 它有什么作用 另外为什么这不能做同样的事情 fig plt figure axes f
  • Cherrypy 和 Jinja2 入门

    这是我第一次深入研究Python的Web开发 我唯一的其他经验是 PHP 而且我以前从未使用过框架 所以我发现这非常令人生畏和困惑 我有兴趣学习 CherryPy Jinja2 为我的 NAS 制作 ZFS 监视器 我已经阅读了 Cherr
  • 装修工合同

    合同 以函数作为参数并返回函数的函数 即传递函数的修改 或相同 版本 传递的函数 这里是 square 例如 floatify def square n return n n 装饰器是否应该只返回传递函数的装饰版本 而不返回其他内容 它应该
  • 如何将seaborn箱线图须基于百分位数?

    我使用箱线图来显示组之间值分布的差异 较低 25 和较高 75 百分位数以及中位数表明了组间的分布和主要差异 然而 晶须不太清晰 默认情况下 在 matlibplot 或 seaborn 中 箱线图的须线表示内四分位范围 IQR 的倍数 默
  • 形状图裁剪/截断特征名称

    import csv import pandas as pd import numpy as np from matplotlib import pyplot import shap from sklearn import preproce
  • AudioSet 和 Tensorflow 理解

    With AudioSet https research google com audioset index html发布并为那些进行合理研究分析的人提供了一个全新的研究领域 最近几天我一直在努力深入研究如何分析和解码这些数据 数据在 tf
  • 在seaborn kdeplot中设置置信度

    我对seaborn完全陌生 所以如果这是一个简单的问题 我深表歉意 但我在文档中找不到关于如何在kdeplot中控制n levels绘制的级别的描述 这是一个例子 import seaborn as sns import numpy as
  • 如何增加pyqt4中QTableWidget中标题标签的行高和行项目的字体大小

    在这里我想增加标题标签的行高和单元格项目的字体大小 在我的代码中我使用self table setRowHeight 方法 但它不起作用 所以请告诉我他们有什么方法可以增加标题标签的行高和单元格项目的字体大小 下面给出的是我的代码 impo
  • ValueError: X.shape[1] = 2 应等于 13,即训练时的特征数量

    我试图通过使用 scikit learn 的 SVM 文档分类器来预测肺癌数据 我使用以下代码但出现一些错误 我用过matplotlib pyplot as plt用于数据图但出现错误 在这里 我明智地使用了肺癌数据风险因素 输入文件 GE
  • 创建具有精确尺寸且无填充的图形(以及轴外的图例)

    我正在尝试为一篇科学文章制作一些图形 因此我希望我的图形具有特定的尺寸 我还看到 Matplotlib 默认情况下在图形边框上添加了大量填充 这是我不需要的 因为图形无论如何都会在白色背景上 要设置特定的图形尺寸 我只需使用plt figu
  • 如何正确中断使用 matplotlib 创建的动画?

    我想正确地中断动画 背景 我有一个封装到 tkinter 实例中的 matplotlib 图 动画 我希望当用户按下 tkinter 按钮时 动画必须停止 删除并重新启动 我正在中断旧动画 通过使用del fig在回调函数 由按钮调用 的开
  • 将 Python 绘图导出为 KML

    How to create a lon lat plot with Matplotlib that can be exported to Google Earth with points appearing on G E correctly
  • 如何用R创建时间散点图?

    数据是一系列日期和时间 date time 2010 01 01 09 04 43 2010 01 01 10 53 59 2010 01 01 10 57 18 2010 01 01 10 59 30 2010 01 01 11 00 4
  • 如何在 matplotlib 中对齐刻度标签?

    我正在尝试使用 matplotlib 构建信息图 并且想要左对齐所有 y 轴的刻度标签 我想将所有刻度标签移至左侧 我希望它们都从与以下相同的 x 位置开始District of Columbia 我尝试使用Axes set ytickla
  • _tkinter.TclError:新 OS X Mavericks 没有显示名称,也没有 $DISPLAY 环境变量

    这是我的第一篇文章 所以请原谅 我正在尝试使用 matplotlib 创建动画 直到几天前我都可以完美地做到这一点 直到我升级到 OS X Mavericks 从此一切都崩溃了 请注意 以下代码适用于 OS X Lion 突然 我在 Mav
  • 在seaborn中使用FacetGrid为所有方面重复x轴标签

    我正在与FacetGrid给出的例子here https seaborn pydata org examples kde ridgeplot html结果如下图所示 在我的数据集中 有相当多的图 如果有x每个面都重复轴标签 而不仅仅是在底部
  • 使用字符串变量 **kwargs 作为命名参数

    我正在尝试找出一种方法来循环 json 配置文件并使用键名称作为使用 kwargs 的方法的参数名称 我创建了一个 json 配置文件并使用键名作为方法 我只需将 set 附加到键名称即可调用正确的方法 我将 json 转换为字典以循环遍历
  • 为什么 python 的 __init__ 函数没有 return 语句,即使它是一个函数

    这可能是一个愚蠢的问题 但我很想知道答案 根据官方文件 init 不需要return语句 有什么特殊原因会这样吗 gt gt gt class Complex def init self realpart imagpart self r r

随机推荐