首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matplotlib/pandas中绘制相位变化

在matplotlib/pandas中绘制相位变化
EN

Stack Overflow用户
提问于 2014-11-19 08:06:10
回答 2查看 1.1K关注 0票数 0

我希望能够使用matplotlib & pandas根据google电子表格中的动态数据创建图形。我已经成功地使用gspread查询电子表格,保存到csv,并绘制,但还不能想出一个解决相变线的方法。以下是格式的一个示例:http://www.ebbp.org/course_outlines/critical_appraisal/pdfs/SSRD-1.gif无论刻度是日期还是会话,相变线都需要落在x轴值之间。数据路径也不能跨相变线连接。

下面是我目前正在使用的代码

代码语言:javascript
复制
  import gspread
    import csv
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import getpass


    usernm = raw_input("Enter Username")
    pw = getpass.getpass("Enter password for user %s: " % usernm)
    gc = gspread.login(usernm, pw)

    client = raw_input("Which client profile would you like to see?")

    wks = gc.open(client)

    for i, worksheet in enumerate(wks.worksheets()):
        filename = client + '-worksheet' + str(i) + '.csv'
        with open(filename, 'wb') as f:
            writer = csv.writer(f)
            writer.writerows(worksheet.get_all_values())

    df = pd.read_csv('CSV FILE HERE', sep=',')        

    df.plot(x='Date', grid=False, marker='o', color='k', title='Hello')

    plt.show()

我从使用google的可视化API转移到python和matplotlib,因为我认为它会有更多的功能和特性来实现这一点,但我想不出有什么办法。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-11-19 08:44:31

对于将来想要这样做的人,这里有一个我发现很有帮助的帖子:vertical & horizontal lines in matplotlib

这是一个可行的解决方案:

代码语言:javascript
复制
plt.axvline(x=2.5, ymin=0, ymax = 1.0, linewidth=1, color='k')

仍然在尝试找出如何不跨数据路径连接(而不是插值空值)

票数 0
EN

Stack Overflow用户

发布于 2014-11-19 09:22:39

对于您在回答中的最后一个评论,假设您有以下阶段的更改

代码语言:javascript
复制
changes = [20,35,55]

您可以像这样绘制未连接的部分

代码语言:javascript
复制
first = 0
for c in changes:
    plt.plot(x[first:c], y[first:c])
    first = c+1
plt.plot(x[first:],y[first:])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27006581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档