Matplotlib在Raspberry pi中没有显示一行,但它在Ubuntu中显示

时间:2017-02-01 02:49:34

标签: python matplotlib

我有一个在Ubuntu 16.04中完美运行的脚本,但在Raspbian中没有。

我正在绘制这些数据(26-01-2017_17:54:57 7.630 25.43 26-01-2017_17:55:01 7.630 25.39 26-01-2017_17:55:06 7.631 25.42 26-01-2017_17:55:11 7.645 25.38 26-01-2017_17:55:15 7.630 25.41 26-01-2017_17:55:19 7.632 25.37 ):

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime
import numpy as np    
import matplotlib.animation as animation

datefunc = lambda x: mdates.date2num(datetime.strptime(x, '%d-%m-%Y_%H:%M:%S'))
def animate(i):
    dates, ph, temp = np.genfromtxt('datosPlot.txt', converters={0: datefunc}, usecols=(0,1,2), invalid_raise=False, unpack=True)
    ax1.clear()
    ax2.clear()
    ax1.grid(True)
    ax2.grid(True)

    ax1.plot_date(dates, ph, ls='-', marker='.', color='red', label='pH')
    ax1.set_ylabel('pH')
    ax2.plot_date(dates, temp, ls='-', marker='.', color='blue', label='Temperatura C')
    ax2.set_ylabel('Temperatura C')

    ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d/%m/%Y %H:%M'))
    lines = ax1.get_lines() + ax2.get_lines()
    plt.legend(lines, [l.get_label() for l in lines], loc=2)
    fig.tight_layout()
fig = plt.figure()
fig.canvas.set_window_title('Grafica pH y Temperatura')
ax1 = fig.add_subplot(111)
ax2 = ax1.twinx() 
ani = animation.FuncAnimation(fig, animate, interval=1000)
plt.show() 

第一列是日期和时间,第二列是pH,第三列是温度

在raspbian中,脚本只绘制第三列(温度)和日期/时间(第一列),并使用正确的比例。

这是我的代码:

ax1

有趣的是,它确实读取了第二列(pH),因为图表显示了正确的比例,但不是线条。另外,如果我在最后一行(ax2ax1 = fig.add_subplot(111))中更改了ax2 = ax1.twin() var app=angular.module("MyApp",[]); app.controller("CategController",function($scope, $http){ $scope.curentpage=0; $scope.nbElement=5; $scope.delete=function(p){ if ((parseInt($scope.nbElement)==parseInt("5")) { $scope.curentpage=1000; } } }); ,那么我会绘制pH而不是温度。

0 个答案:

没有答案