python 在 x 轴上旋转值以不重叠

2024-02-06

I'm having some problems with the xticks of the graph here: enter image description here

有人可以帮忙吗?

我尝试了他们在这里所做的事情:matplotlib 中的日期刻度和旋转 https://stackoverflow.com/questions/11264521/date-ticks-and-rotation-in-matplotlib但无济于事。

import numpy as np
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import matplotlib.pyplot as plt
import datetime as DT
import matplotlib.dates as mdates
import matplotlib.ticker as ticker

#import data
i, time, temp, hum, light_lv, light_v = np.loadtxt('DHT11.csv', delimiter = ',', skiprows = 1,
                     usecols = (0,2,3,4,5,6), unpack = 1)

#id, unixtime, temp, humidity, lightlevel, lightvolt


time = [DT.datetime.fromtimestamp(t) for t in time]
light_lv =  250 - light_lv

xfmt = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')

if 1:


    host = host_subplot(111, axes_class=AA.Axes)
    host.xaxis.set_major_formatter(xfmt)

    plt.subplots_adjust(right=0.75)

    par1 = host.twinx()
    par2 = host.twinx()

    offset = 60
    new_fixed_axis = par2.get_grid_helper().new_fixed_axis
    par2.axis["right"] = new_fixed_axis(loc="right",
                                        axes=par2,
                                        offset=(offset, 0))

    par2.axis["right"].toggle(all=True)



    #host.set_xlim(0, 25)
    host.set_ylim(15, 25)

    host.set_xlabel("Time (unix)")
    host.set_ylabel("Temperature (C)")
    par1.set_ylabel("Humidity (%)")
    par2.set_ylabel("Light (A.U.)")

    p1, = host.plot(time, temp)
    p2, = par1.plot(time, hum)
    p3, = par2.plot(time, light_lv)

    #par1.set_ylim(0, 4)
    #par2.set_ylim(1, 65)

    host.legend()

    host.axis["left"].label.set_color(p1.get_color())
    par1.axis["right"].label.set_color(p2.get_color())
    par2.axis["right"].label.set_color(p3.get_color())

    plt.draw()
    plt.show()

    #plt.savefig("Test")

我发现在 matplotlib 中解决此类问题的最简单方法就是查看gallery http://matplotlib.org/gallery.html直到你找到一个有你想要的东西,然后复制那一点。

看看这个 http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

你要这个:

plt.xticks(x, labels, rotation='vertical')

还有另一种技术被使用here http://matplotlib.org/examples/pylab_examples/boxplot_demo2.html:

# Set the axes ranges and axes labels
ax1.set_xlim(0.5, numBoxes+0.5)
top = 40
bottom = -5
ax1.set_ylim(bottom, top)
xtickNames = plt.setp(ax1, xticklabels=np.repeat(randomDists, 2))
plt.setp(xtickNames, rotation=45, fontsize=8)

或者,这看起来更容易,您可以执行此答案中所做的操作。

plt.xticks(rotation=<whatever>)

只需在绘制任何内容之前将其放入即可。

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

python 在 x 轴上旋转值以不重叠 的相关文章

  • 类的 IPython 表示

    我正在使用我创建的模块尝试 IPython 但它没有显示类对象的实际表示 相反 它显示类似的内容 TheClass module TheClass name I heavily在这个模块中使用元类 我有真正有意义的类表示 应该向用户显示 是
  • 有向未加权图中的最长非循环路径

    什么算法可用于找到未加权有向无环图中的最长路径 动态规划 http en wikipedia org wiki Dynamic programming 它也被引用于最长路径问题 http en wikipedia org wiki Long
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 如何使用 Selenium 和 ChromeDriver 解决 TypeError: 'module' object is not callable 错误 [重复]

    这个问题在这里已经有答案了 代码试验 from selenium import webdriver from selenium webdriver chrome options import Options as Chromeoptions
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 导入错误:没有名为flask.ext.login的模块

    我的flask login 模块有问题 我已经成功安装了flask login模块 另外 从命令提示符我可以轻松运行此脚本 不会出现错误 Python 2 7 r27 82525 Jul 4 2010 07 43 08 MSC v 1500
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • 找到一个数字所属的一组范围

    我有一个 200k 行的数字范围列表 例如开始位置 停止位置 该列表包括除了非重叠的重叠之外的所有类型的重叠 列表看起来像这样 3 5 10 30 15 25 5 15 25 35 我需要找到给定数字所属的范围 并对 100k 个数字重复该
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是

随机推荐

  • Python 中阻止 GET 请求的解决方法

    我正在尝试使用 requests 和 beautifulsoup 检索和处理网络搜索的结果 我编写了一些简单的代码来完成这项工作 并且它成功返回 状态 200 但请求的内容只是一条错误消息 对于给您带来的不便 我们深表歉意 但该站点当前不可
  • C 中的移位运算符(<<、>>)是算术运算符还是逻辑运算符?

    在 C 语言中 移位运算符 lt lt gt gt 算术还是逻辑 左移时 算术移位和逻辑移位没有区别 右移时 移位类型取决于被移位的值的类型 作为那些不熟悉差异的读者的背景知识 逻辑 右移 1 位会将所有位向右移动 并用 0 填充最左边的位
  • 在 Perl 中解析时间戳与毫秒

    假设我有一堆时间戳 如 11 05 2010 16 27 26 003 如何在 Perl 中用毫秒解析它们 本质上 我想比较时间戳以查看它们是在特定时间之前还是之后 我尝试使用 Time Local 但似乎 Time Local 只能解析第
  • 使用与 Trait 函数相同名称的 PHP 类

    我有以下代码作为示例 trait sampletrait function hello echo hello from trait class client use sampletrait function hello echo hello
  • YouTube-Player-iOS-Helper 无法使用 YTPlayerView 类

    我正在尝试实现 youtube ios player helper 在这里找到 https github com youtube youtube ios player helper https github com youtube yout
  • 在android上进行双向数据绑定的正确方法是什么?

    我为 2 路数据绑定做了一个简单的 hello world 并且接缝工作完美 当在 editext 上写入时 textview 自动更新 但是像官方文档一样在网上找到的所有代码都有更多的代码和复杂性 例如https developer an
  • 如何在 Windows 7 64 位上调试 VB6 IIS 应用程序

    我需要能够在 Windows 7 64 位上调试 Visual Basic 6 IIS 应用程序 不仅仅是为了解决一个问题 而是为了持续发展 尝试调试会导致 WebClass 运行时出现错误 发生了未指定的错误 如果我不进行调试而只是访问编
  • 对 Azure Cosmos DB 中的嵌套字段建立索引

    我想在 Azure Cosmos DB 文档中的嵌套字段上创建索引 例如 如果我有以下架构 id 1 nested mode mode1 text nice text 我想在该字段上创建索引nested mode 如何才能做到这一点 Ans
  • 如何在Eclipse控制台打印[简体]汉字?

    我有以下代码 import java io PrintStream import java io UnsupportedEncodingException import java util Locale public final class
  • 点击刷新时,IIS 上出现路由 404 错误

    我没有找到这个问题的解决方案 但我已经尝试了各种解决方案 但没有任何效果 我有一个 React JS 应用程序 当部署在测试服务器上并且您在页面上点击刷新时 我收到 404 错误消息 我尝试过 URL 重写 这有助于导航回主页 但这并不能解
  • 如何使 DateTime 独立于当前文化?

    我尝试将日期时间转换为字符串并返回 但使其适用于所有文化 我基本上有一个文本框 tbDateTime 和一个标签 lbDateTime 该标签告诉用户 软件期望以哪种格式输入 tbDateTime 文本框的输入将用于 MySQL 命令 目前
  • Angular ng 使用不同的“配置文件”构建

    在 Maven Java 中 可以构建具有不同 配置文件 的 Web 应用程序战争 配置文件 指示例如要放入配置文件中的 Web 服务的 URL 因此 测试配置文件 将指示与 生产配置文件 不同的 URL 有没有类似于 ng build 的
  • Swift - 如何在单击时使图像全屏显示,然后在再次单击时使图像变为原始大小? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于我正在制作的应用程序 我希望用户能够单击图像以使其在应用程序上全屏显示 然后用户可以单击现在的全屏图像以使其恢复原始大小 这可能吗
  • 我不明白 format() 和 ... (python) 之间有什么区别

    这里是困惑的新手 使用有什么区别 print So you are 0 years old format age AND print So you are age years old 两者都有效 其实差别很大 前者使用字符串format h
  • 汇编中的纯高位乘法?

    为了实现 0 到 1 之间的实数 通常使用 ANSI 浮点数或双精度数 但是 0 到 1 之间的固定精度数字 小数模 1 可以有效地实现为 32 位整数或 16 位字 它们像普通整数 字一样相加 但乘以 错误的方式 这意味着当您乘以 X 倍
  • gem 服务器:如何更新缺少 rdoc 的 gem?

    我很喜欢gem server使用本地 RubyGems 文档索引引导 Web 服务器的命令 我唯一的问题是 有些 gems 没有 rdoc 文件 如何添加缺失的rdoc 所有gem都是主流gem 不是我自己的 通过Bundler安装 导轨2
  • 电子生成器应用程序大小太大

    我发现使用 Electron builder 生成的 MyApp exe 文件有将近 500M 左右 我不确定我做了什么 因为以前 仅对于 ia32 或 x64 它大约是 196M 我也看了这个link https stackoverflo
  • 矢量上的段错误

    我创建了一个结构来保存一些数据 然后声明一个向量来保存该结构 但是当我执行 Push back 时 我遇到了该死的段错误 我不知道为什么 我的结构定义为 typedef struct Group int codigo string name
  • 查找最大值并显示 SQL Server 中不同字段的相应值

    我有一个表 其中包含有关城市的数据 其中包括城市名称 人口和与我的问题无关的其他字段 ID Name Population 1 A 45667 2 B 123456 3 C 3005 4 D 13769 找到最大人口是基本的 但我需要一个结
  • python 在 x 轴上旋转值以不重叠

    I m having some problems with the xticks of the graph here 有人可以帮忙吗 我尝试了他们在这里所做的事情 matplotlib 中的日期刻度和旋转 https stackoverfl