You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
1
|
2
|
3
(4) |
4
|
5
|
6
|
7
|
8
|
9
(4) |
10
(1) |
11
|
12
|
13
|
14
|
15
|
16
(4) |
17
(3) |
18
(3) |
19
|
20
|
21
|
22
|
23
|
24
(1) |
25
|
26
(1) |
27
|
28
(8) |
29
(4) |
30
(1) |
|
|
|
Sorry for bother, not sure if this goes through or not. I had a plot with hatch in it. But the default linewidth for hatch makes it really hard to see in my current figure layout/scale, so I would like to increases the hatch linewidth; plt.bar(ind, s1[:,3],width, color='0.85', edgecolor='black', linewidth=[0.5],hatch='-----//////') The linewidth there can only change the width of the edge, but not the hatch width; I did several google searches with no solution. But I indeed noticed that several years ago (back to year 2011), this is impossible as the hatch linewidth is hard coded as: hatch_path_stroke.width(1.0); But is this implemented so that I can change the hatch linewidth? Best regards Luis
You have some logic issues here. First off, I wouldn't be updating the plot in the same function that is updating the data values. Assuming that "loop_start()" is asynchronous, the update frequency for it is likely to be entirely different from the Animation update frequency. So, just have that function do updates. You should also declare x, y, and z as globals in that function so that the reassignment of those arrays persist properly. Your list comprehension prior to concatenating uses a variable "x", which is likely causing the current error that you see. Change that name to something else. Lastly, I implore you to use "set_data()" like in the original example, rather than calling plot() repeatedly. Cheers! Ben Root On Tue, Sep 29, 2015 at 2:05 PM, Shakthi Kannan <sha...@gm...> wrote: > Hi, > > I was able to get past the error, and I am now trying to add a > callback to receive values from a queue, add it to the existing poly > line, and render the same using matplotlib. The code snippet is shown > below: > > === BEGIN === > > import matplotlib as mpl > from mpl_toolkits.mplot3d import Axes3D > import numpy as np > import matplotlib.pyplot as plt > import matplotlib.animation as animation > import sys > import paho.mqtt.client as mqtt > > def update_line(num, x, y, z, l): > print x, y, z > l, = ax.plot(x, y, z, label='Line') > return l, > > def on_connect(client, userdata, flags, rc): > print("Connected with result code "+str(rc)) > client.subscribe("hello/world") > > def on_message(client, userdata, msg): > data = msg.payload > print(msg.topic+" "+str(msg.payload)) > point = np.asarray([float(x) for x in data.split()]) > print point > x=np.concatenate((x,[point[0]])) > y=np.concatenate((y,[point[1]])) > z=np.concatenate((z,[point[2]])) > l, = ax.plot(x, y, z, label='Line') > return l, > > fig = plt.figure() > ax = fig.gca(projection='3d') > ax.set_xlabel('X') > ax.set_ylabel('Y') > ax.set_zlabel('Z') > > x = np.array([1.0, 2.0, 3.0]) > print type(x) > y = np.array([4.0, 7.0, 8.0]) > z = np.array([6.0, 9.0, 5.0]) > > l, = ax.plot(x, y, z, label='Line') > ax.legend() > > client = mqtt.Client() > client.on_connect = on_connect > client.on_message = on_message > client.connect_async("localhost", 1883, 60) > client.loop_start() > > line_ani = animation.FuncAnimation(fig, update_line, 25, fargs=(x, y, > z, l), interval=2000, blit=True) > > plt.show() > > === END === > > I now hit the following error: > > === ERROR === > > $ python mat-3.py > <type 'numpy.ndarray'> > [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] > Connected with result code 0 > [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] > [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] > [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] > hello/world 34.56 15.912 0.72 > [ 34.56 15.912 0.72 ] > Exception in thread Thread-1: > Traceback (most recent call last): > File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner > self.run() > File "/usr/lib/python2.7/threading.py", line 763, in run > self.__target(*self.__args, **self.__kwargs) > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 2287, in _thread_main > self.loop_forever() > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 1261, in loop_forever > rc = self.loop(timeout, max_packets) > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 811, in loop > rc = self.loop_read(max_packets) > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 1073, in loop_read > rc = self._packet_read() > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 1475, in _packet_read > rc = self._packet_handle() > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 1943, in _packet_handle > return self._handle_publish() > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 2118, in _handle_publish > self._handle_on_message(message) > File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", > line 2274, in _handle_on_message > self.on_message(self, self._userdata, message) > File "mat-3.py", line 23, in on_message > x=np.concatenate((x,[point[0]])) > ValueError: zero-dimensional arrays cannot be concatenated > > [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] > [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] > [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] > > ... > > === END === > > Is there a better way to re-render the plot after receiving data? > > Thanks! > > SK > > -- > Shakthi Kannan > http://www.shakthimaan.com > > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users >
Hi, I was able to get past the error, and I am now trying to add a callback to receive values from a queue, add it to the existing poly line, and render the same using matplotlib. The code snippet is shown below: === BEGIN === import matplotlib as mpl from mpl_toolkits.mplot3d import Axes3D import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import sys import paho.mqtt.client as mqtt def update_line(num, x, y, z, l): print x, y, z l, = ax.plot(x, y, z, label='Line') return l, def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client.subscribe("hello/world") def on_message(client, userdata, msg): data = msg.payload print(msg.topic+" "+str(msg.payload)) point = np.asarray([float(x) for x in data.split()]) print point x=np.concatenate((x,[point[0]])) y=np.concatenate((y,[point[1]])) z=np.concatenate((z,[point[2]])) l, = ax.plot(x, y, z, label='Line') return l, fig = plt.figure() ax = fig.gca(projection='3d') ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') x = np.array([1.0, 2.0, 3.0]) print type(x) y = np.array([4.0, 7.0, 8.0]) z = np.array([6.0, 9.0, 5.0]) l, = ax.plot(x, y, z, label='Line') ax.legend() client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.connect_async("localhost", 1883, 60) client.loop_start() line_ani = animation.FuncAnimation(fig, update_line, 25, fargs=(x, y, z, l), interval=2000, blit=True) plt.show() === END === I now hit the following error: === ERROR === $ python mat-3.py <type 'numpy.ndarray'> [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] Connected with result code 0 [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] hello/world 34.56 15.912 0.72 [ 34.56 15.912 0.72 ] Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs) File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2287, in _thread_main self.loop_forever() File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1261, in loop_forever rc = self.loop(timeout, max_packets) File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 811, in loop rc = self.loop_read(max_packets) File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1073, in loop_read rc = self._packet_read() File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1475, in _packet_read rc = self._packet_handle() File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1943, in _packet_handle return self._handle_publish() File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2118, in _handle_publish self._handle_on_message(message) File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 2274, in _handle_on_message self.on_message(self, self._userdata, message) File "mat-3.py", line 23, in on_message x=np.concatenate((x,[point[0]])) ValueError: zero-dimensional arrays cannot be concatenated [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] [ 1. 2. 3.] [ 4. 7. 8.] [ 6. 9. 5.] ... === END === Is there a better way to re-render the plot after receiving data? Thanks! SK -- Shakthi Kannan http://www.shakthimaan.com
Thanks in advance but Sorry to bother those who are not interested. I had a plot with hatch in it. But the default linewidth for hatch makes it really hard to see in my current figure layout/scale, so I would like to increases the hatch linewidth; plt.bar(ind, s1[:,3],width, color='0.85', edgecolor='black', linewidth=[0.5],hatch='-----//////') The linewidth there can only change the width of the edge, but not the hatch width; I did several google searches with no solution. But I indeed noticed that several years ago (back to year 2011), this is impossible as the hatch linewidth is hard coded as: hatch_path_stroke.width(1.0); But is this implemented so that I can change the hatch linewidth? Best regards Luis