- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试绘制股票市场图表
时间序列与收盘价以及时间序列与交易量。
x 轴以某种方式显示 1970 年的时间
下面是图和代码
代码是:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
pd_data = pd.DataFrame(data, columns=['id', 'symbol', 'volume', 'high', 'low', 'open', 'datetime','close','datetime_utc','created_at'])
pd_data['DOB'] = pd.to_datetime(pd_data['datetime_utc']).dt.strftime('%Y-%m-%d')
pd_data.set_index('DOB')
print(pd_data)
print(pd_data.dtypes)
ax=pd_data.plot(x='DOB',y='close',kind = 'line')
ax.set_ylabel("price")
#ax.pd_data['volume'].plot(secondary_y=True, kind='bar')
ax1=pd_data.plot(y='volume',secondary_y=True, ax=ax,kind='bar')
ax1.set_ylabel('Volumne')
# Choose your xtick format string
date_fmt = '%d-%m-%y'
date_formatter = mdates.DateFormatter(date_fmt)
ax1.xaxis.set_major_formatter(date_formatter)
# set monthly locator
ax1.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
# set font and rotation for date tick labels
plt.gcf().autofmt_xdate()
plt.show()
还在没有 ax=ax
ax=pd_data.plot(x='DOB',y='close',kind = 'line')
ax.set_ylabel("price")
ax1=pd_data.plot(y='volume',secondary_y=True,kind='bar')
ax1.set_ylabel('Volumne')
然后价格图正确显示年份而体积图显示 1970
如果我交换它们
ax1=pd_data.plot(y='volume',secondary_y=True,kind='bar')
ax1.set_ylabel('Volumne')
ax=pd_data.plot(x='DOB',y='close',kind = 'line')
ax.set_ylabel("price")
现在成交量图正确显示年份,而价格图显示 1970 年
我尝试删除 secondary_y 并将 bar 更改为 line。但是没有运气
第一张图表后的 pandas 数据以某种方式改变了年份。
最佳答案
我找不到 1970 的原因,而是使用 matplotlib.pyplot 来绘图而不是间接使用 pandas 并且还传递了数据时间数组而不是 pandas
所以下面的代码有效
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
import datetime as dt
import numpy as np
pd_data = pd.read_csv("/home/stockdata.csv",sep='\t')
pd_data['DOB'] = pd.to_datetime(pd_data['datetime2']).dt.strftime('%Y-%m-%d')
dates=[dt.datetime.strptime(d,'%Y-%m-%d').date() for d in pd_data['DOB']]
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.MonthLocator(interval=2))
plt.bar(dates,pd_data['close'],align='center')
plt.gca().xaxis.set_minor_locator(plt.MultipleLocator(1))
plt.gcf().autofmt_xdate()
plt.show()
我创建了一个日期时间格式的日期数组。如果我使用它制作图表,那么日期将不再显示为 1970 年
open high low close volume datetime datetime2
35.12 35.68 34.79 35.58 1432995 1244385200000 2012-6-15 10:30:00
35.69 36.02 35.37 35.78 1754319 1244371600000 2012-6-16 10:30:00
35.69 36.23 35.59 36.23 3685845 1245330800000 2012-6-19 10:30:00
36.11 36.52 36.03 36.32 2635777 1245317200000 2012-6-20 10:30:00
36.54 36.6 35.8 35.9 2886412 1245303600000 2012-6-21 10:30:00
36.03 36.95 36.0 36.09 3696278 1245390000000 2012-6-22 10:30:00
36.5 37.27 36.18 37.11 2732645 1245376400000 2012-6-23 10:30:00
36.98 37.11 36.686 36.83 1948411 1245335600000 2012-6-26 10:30:00
36.67 37.06 36.465 37.05 2557172 1245322000000 2012-6-27 10:30:00
37.06 37.61 36.77 37.52 1780126 1246308400000 2012-6-28 10:30:00
37.47 37.77 37.28 37.7 1352267 1246394800000 2012-6-29 10:30:00
37.72 38.1 37.68 37.76 2194619 1246381200000 2012-6-30 10:30:00
我得到的情节是
关于python - pandas 条形图结合线图显示了从 1970 年开始的时间轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64342716/
目录 效果图 思路 具体实现 步骤一:ItemView顶部偏移 步骤二:绘制圆和线条 注意:下标的获取 流程类的绘制
我正在尝试构建一个时间轴,但是当我点击其中一个圆圈时我无法实现该功能事件的绿色条已完成,或者如果我点击前一个圆圈则“禁用”, 我的代码 CodePen 我尝试过的 Toggle var compl
我最近开始使用 JavaFx 2.0,也许我的问题很基本,但目前我不知道如何解决它。例如,假设我有一个名为 Clock 的小型演示应用程序: import javafx.animation.KeyFr
我需要创建一个基于自定义 HTML5 的控件,该控件是时间线和甘特图之间的交叉: 但是,我无法获得市场上已有的第三方控件来减少一些开发时间。它需要在顶部有微型缩小的时间轴以进行快速导航,滚动时会更新主
你好,我已经为 twitter 时间线编写了一个脚本,除了我不知道如何授权我的 twitter api key ,我的 led 标志只是说“错误的身份验证数据” 这是我的代码 #!/usr/bin/p
我正在使用 X 时间轴绘制一个非常规则的图表。轴代码非常标准: var xScale = d3.time.scale() .domain([tlState.startd
谁能帮我解释一下如何使用图形 api 发布带有照片(不是一张照片)的状态; 我尝试将照片添加到 me/photos 但我不需要查看以前帖子中的照片。 当我使用类似 TIMELINE_ALBUM/pho
我正在使用来自 here 的时间轴插件 这是我当前的代码: 1940s 1950s 1960s 1970s 1980s 1990s 2000s 1940's Ronald. 1950's
我有一些事件:有些是连续的,有些只是一天的事件。 我想在网页上精美地展示它们。有一堆日期选择器 jQuery 插件,但我找不到任何用于显示事件的插件。 可以是canvas,也可以是svg,也可以是cs
我正在尝试创建一个响应式时间轴,它的行为类似于 ( https://codepen.io/anon/pen/KoGdqG): 对于大于 600px 的宽度是水平的。每个部分的宽度是响应式的; 对于小于
在我复制并粘贴来自 https://mdbootstrap.com/plugins/jquery/timeline/#images 的代码之后,为什么图像看起来很大,我该怎么做才能使左侧和右侧的内容变
我想创建一个垂直的动态时间轴,左边是发生的时间,右边是发生的事情,中间有一条线,每个事件的线上都有一个气泡。时间、事件和事件数量将是动态的。 我在这里想的可能是垂直线的静态图像上的 RecyclerV
我正在尝试重新创建以下内容: 我有以下代码,其中包含它的要点,但不是确切的外观和感觉,我仍在尝试掌握 Swift 的 UI 方面。 VStack(spacing: 30) {
在使用下面的代码使用 AngularJS 生成时间线图表时,我遇到了一个问题。 基本上我无法找到导入时间线包的正确方法。就像下面导入 corechart 包一样,我如何导入时间线... google.
我正在尝试使用 javascript 或 jquery 在我的 Twitter 时间轴上动态设置 href 字段,我该如何执行此操作? Tweets by me 最佳答案 使用setAttribut
时间轴跟踪文件介绍如下: https://www.tensorflow.org/versions/r1.1/performance/xla/jit 这对于性能分析似乎很有用。但有一点我不明白。 1、“
我正在使用 d3 Timeline 插件 ( https://github.com/jiahuang/d3-timeline ),我终于得到了可视化可以读取我的数据的地方。但是,我现在需要使特定学生的
我正在尝试使用 Google 的时间轴创建一个图表来显示过去 7 天的事件,但我在缩放 x 轴时遇到了问题。 图表总是试图根据数据自动缩放,这破坏了我想要合并的一致性。我希望图表的右侧是今天的日期,左
获取多个 KML 文件(每个文件代表不同的日期)并创建带有 slider 的 Google map 的最佳方法是什么? 最佳答案 尝试http://code.google.com/p/timemap/
我一直在尝试为预定的事件构建一个网络显示。每个事件都有一个动态计算的宽度(基于事件持续时间)和 margin-left(基于开始时间)。每个事件也有一个高度,基于需要显示的内容。如果没有重叠事件将元素
我是一名优秀的程序员,十分优秀!