首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >比例尺图上游标pos的详细日期

比例尺图上游标pos的详细日期
EN

Stack Overflow用户
提问于 2016-11-28 06:47:32
回答 1查看 581关注 0票数 3

假设有一个时间序列,我想用matplotlib来绘制:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dates = pd.date_range(start='2011-01-01', end='2012-01-01')
s = pd.Series(np.random.rand(1, len(dates))[0], index=dates)

matplotlib中的GUI后端具有一个很好的特性,它们在窗口中显示光标坐标。当我使用它的plot()方法绘制熊猫系列时,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig = plt.figure()
s.plot()
fig.show()

光标的x弦显示在窗口底部的完整中,如图1所示。

但是,当我用pyplot绘制同一系列的时候:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fig = plt.figure()
plt.plot(s.index, s.values)
fig.show()

完整的日期只在我放大时显示,在默认视图中,我只能看到蒙-yyy(见图2),如果这个系列更长的话,我只会看到一年。

在我的项目中,有使用plt.plot()从时间序列数据中绘制复杂的多序列图的函数,所以当我在GUI中查看结果时,我只看到特写中的完整日期。我使用的是ipython3 v.4.0,我主要使用的是MacOSX后端,但是我在Linux上尝试了TK、Qt和GTK后端,没有任何不同的行为。

到目前为止,关于如何在任意缩放级别上获得GUI显示的完整日期,我有两个想法:

  1. 将plt.plot()重写为pd.Series.plot()
  2. 使用画布事件处理程序从游标pos获取x-coord并将其打印到某个位置。

然而,在尝试上述任何一种方法之前,我需要确定是否有更好的更快捷的方法来将完整的日期打印到图形窗口中。我想是的,因为熊猫正在使用它,但是我在pandas、示例或者其他网上找不到它,这不是这两个电话中的任何一个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ax.xaxis_date()
fig.autofmt_xdate()

谁来告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-28 09:17:02

格式化信息的钩子是Axes.format_coordAxes.fmt_xdata。标准模板是在matplotlib.dates (加上熊猫的一些补充 )中定义的。一个基本的解决办法可以是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.dates
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

dates = pd.date_range(start='2011-01-01', end='2012-01-01')
series = pd.Series(np.random.rand(len(dates)), index=dates)

plt.plot(series.index, series.values)
plt.gca().fmt_xdata = matplotlib.dates.DateFormatter('%Y-%m-%d')
plt.show()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40847064

复制
相关文章
HDOJ1021题 Fibonacci Again 应用求模公式
Problem Description There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).
谙忆
2021/01/19
2940
【模板小程序】求第n个fibonacci数
1 //fibonacci,find the nth num. 1 1 2 3 5 8... 2 #include <iostream> 3 using namespace std; 4 5 int fib(int n){ 6 if(n==1 || n==2){ 7 return 1; 8 } 9 int prev=1; 10 int result=1; 11 n-=2; 12 while(n--){ 13 result+=prev; 14
xiaoxi666
2018/10/29
4510
Python快速计算Fibonacci数列中第n项的方法
from time import time from functools import lru_cache def fibo1(n): '''递归法''' if n in (1, 2): return 1 return fibo1(n-1) + fibo1(n-2) @lru_cache(maxsize=64) def fibo2(n): '''递归法,使用缓存修饰器加速''' if n in (1, 2): return 1 return fibo2(n-1) + fibo2(n-2) d
Python小屋屋主
2018/04/16
1.4K0
数学--组合数学--当C(n,m)中n固定m++的递推模板
ll power(ll a, ll b, ll p) { ll ans = 1 % p; for (; b; b >>= 1) { if (b & 1) ans = ans * a % p; a = a * a % p; } return ans; } long long mm[500000]; void init(ll n, ll k) { mm[1] = 1; for (ll i =2;
风骨散人Chiam
2020/11/03
4960
整数划分问题(详解 n > m 情况)
正整数n的所有不同划分中,将最大加数x不大于m的情况记为q(n,m),这个称作n的m划分
ruochen
2021/05/14
8250
整数划分问题(详解 n > m 情况)
2021-08-29:N * M的棋盘(N和M是输入参数),每种颜色
2021-08-29:N * M的棋盘(N和M是输入参数),每种颜色的格子数必须相同的,上下左右的格子算相邻,相邻格子染的颜色必须不同,所有格子必须染色,返回至少多少种颜色可以完成任务。
福大大架构师每日一题
2021/08/30
3350
2021-08-29:N * M的棋盘(N和M是输入参数),每种颜色
Fibonacci
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因[数学家]列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为兔子数列.
AngelNH
2020/04/16
4160
从M走到N最少步数
假设一个人站在 X 轴的正半轴上,起始点在 M 点(0 <= M <= 100000),他每次可以向左走一步,向右走一步,或者走到所在坐标乘以2的位置,最终来到 N 点(0 <= N <= 100000)。问:所需的最少步数是几步?(如果不能从 M 走到 N 点,则返回 -1)
echobingo
2018/10/10
8080
构建列表 [[0] * m] * n带来的隐患
这里只修改了L[0][0],但是却L却输出: [[1, 0, 0], [1, 0, 0]]
生信编程日常
2020/05/08
5680
共模-差模
差模信号:就是这两个信号各自拥有的那部分:对于v1,VDiff=(v1-v2)/2;
crazy_hw
2022/08/29
7240
共模-差模
2023-06-24:给你一根长度为 n 的绳子, 请把绳子剪成整数长度的 m 段, m、n都是整数,n > 1并且m > 1,
例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。
福大大架构师每日一题
2023/07/08
1950
2023-06-24:给你一根长度为 n 的绳子, 请把绳子剪成整数长度的 m 段, m、n都是整数,n > 1并且m > 1,
Fibonacci数
无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为 F(n)=1 ...........(n=1或n=2) F(n)=F(n-1)+F(n-2).....(n>2) 现要你来求第n个斐波纳奇数。(第1个、第二个都为1)
书童小二
2018/09/03
4130
1978 Fibonacci数列 3
1978 Fibonacci数列 3 题目描述 Description 斐波纳契数列是这样的数列: f1 = 1 f2 = 1 f3 = 2 f4 = 3 .... fn = fn-1 + fn-2 输入一个整数n 求fn 输入描述 Input Description 一个整数n, n<= 40 输出描述 Output Description 一个整数fn 样例输入 Sample Input 3 样例输出 Sample Output 2 数据范围及提示 Data Size & Hint n<=40 1
attack
2018/04/03
7120
1250 Fibonacci数列
时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果 题目描述 Description 定义:f0=f1=1, fn=fn-1+fn-2(n>=2)。{fi}称为Fibonacci数列。 输入n,求fn mod q。其中1<=q<=30000。 输入描述 Input Description 第一行一个数T(1<=T<=10000)。 以下T行,每行两个数,n,q(n<=109, 1<=q<=30000) 输出描述 Output Descriptio
attack
2018/04/12
7130
三种Fibonacci数列第n项计算方法及其优劣分析
感谢国防科技大学刘万伟老师和中国传媒大学胡凤国两位老师提供的思路,文章作者不能超过8个字符,我的名字就写个姓吧,名字不写了^_^。另外,除了本文讨论的三种方法,之前的文章中还讨论了另外几种方法,详见相关阅读第一篇。 def fibo4(n): '''递推法 适用于任意大小的n 使用生成器函数 速度快,无误差''' def nested(): a, b = 1, 1 while True: yield a a, b = b, a+b
Python小屋屋主
2018/04/16
9060
Fibonacci数列第n项的第7种计算方法:Python列表
前面已经分享了几种计算Fibonacci数列第n项的方法,详见Python快速计算Fibonacci数列中第n项的方法和三种Fibonacci数列第n项计算方法及其优劣分析,本文分享第7种(过几天分享第8种),主要演示列表的append()和pop()这两个方法和反向索引的用法。如果n小的话,可以只append()不pop()(注意,这样的话append()的参数要改为data[-1]+data[-2]),但是如果n很大的话会导致内存崩溃。 下面的代码使用第800万项对本文的第7种方法和前面6种中最快的方法
Python小屋屋主
2018/04/16
6530
Oracle查询第m到第n条数据
这种方法是最优方法,因为该方法进行排序后取值,所以能够保证两次取值都会取出相同的值。
SuperHeroes
2019/03/12
1.4K0
入门训练Fibonacci数列
本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。 #include<iostream> #include<vector> using namespace std; vector<int> a; void init() { a.push_back(1); a.push_back(1); for(int i=2;i<1000000;i++){ a.push_back((a[i-2]+a[i-1])%10007); } } int main(){ int n,r,i; c
Yuyy
2022/06/28
2140
python fibonacci数列
看了python学习笔记,其中一个讲fibonacci数列的例子,觉得讲的很好,很受用,写到这里没事能翻翻
py3study
2020/01/07
8580
SQL优化之LIMIT语法, limit n,m 和 limit n有什么区别?
在某些面试题中会遇到这样的问答或笔试题:“limit 0,1 和 limit 1有什么区别?” 要准确回答这个问题就等深入明白limit一个参数和两个参数的本质区别。
Java深度编程
2020/06/10
12.3K0
SQL优化之LIMIT语法,  limit n,m 和 limit n有什么区别?

相似问题

求fibonacci n模m的快速算法

30

巨型fibonacci模m C++

10

计算Fibonacci无模m的Pisano周期

20

计算n,其中a^n模m= 1?

24

Sympy矩阵M(模n)多么?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文