Page 1 of 1

Argument dimensions are incompatible

PostPosted: Tue Dec 18, 2018 3:15 pm
by autolog
To set the context, I am running the following:
Plugin name: Matplotlib
Plugin version: 0.7.09
Plugin ID: com.fogbert.indigoplugin.matplotlib
Indigo version: 7.2.0
Python version: 2.7.10 (default, Aug 17 2018, 19:45:58) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)]
Mac OS Version: 10.14.2


I am having a problem with a graph processing data from six CSV files.

I am getting an error:
Matplotlib Critical Error [Temperature Master Bedroom] Argument dimensions are incompatible

I have tried overriding the dimensions to no effect. I am getting the error regardless of whether I override or not.
Default sizes are 350 x 640 and 250 x 1000 as set in the plugin config.

Also, when creating the graph it seems to be ignoring setting the Canvas colour and the Plot Area colour.

Another minor thing is that when I select Line 5 and Line 6 there isn't a horizontal separator between line 4 and line 5 in the device settings config.

Probably something I am doing wrong but can't see it at the moment. :)

.

Re: Argument dimensions are incompatible

PostPosted: Tue Dec 18, 2018 8:28 pm
by DaveL17
autolog wrote:
I am getting an error:
Matplotlib Critical Error [Temperature Master Bedroom] Argument dimensions are incompatible

Hi Jon - many of the errors that the plugin logs are ported straight through from Matplotlib, and that is surely the case here. A quick Google search points to an issue with fill between. I don't think adjusting the plot dimensions will have any effect, and I suspect that the plot and canvas coloring issue might be a snag in the render (where the error bombs the plot). Thanks for the tip on the missing separator.

I imagine that this is an issue that's going to take a bit of work to isolate. If you're in a position to send me the CSV files (or a download link) so that I can replicate your situation, it would help me track down where the trouble spot(s) is/are. Hit me up with a PM and hopefully we can get something arranged easily.

Re: Argument dimensions are incompatible

PostPosted: Wed Dec 19, 2018 6:49 am
by autolog
Hi Dave,
I didn't realise about the the porting straight through - seems obvious now you mention it.

Thanks for the offer of help. :)

I will PM a link to some screenshots of the settings and the actual CSV files.

Re: Argument dimensions are incompatible

PostPosted: Wed Dec 19, 2018 7:01 am
by DaveL17
autolog wrote:
Hi Dave,
I didn't realise about the the porting straight through - seems obvious now you mention it.

Thanks for the offer of help. :)

I will PM a link to some screenshots of the settings and the actual CSV files.

Super. Thanks very much.

Re: Argument dimensions are incompatible

PostPosted: Thu Dec 20, 2018 7:24 am
by DaveL17
Preliminary testing seems to confirm that this is an issue with the line fill setting. When I turn off fill, the plot will generate successfully.

To confirm, I did the following. Using just your first two data sources, I confirmed the same error you're seeing. I then turned off the fill for line 1 and the plot was generated. When I turned on fill for line two (with line 1 still no fill) the plot was generated. I tried various combinations including different line styles and could reproduce these results.

So the short-term fix is to turn off filling, and then the plot should render. In the meantime, I'll continue to try to find a way to overcome this error.

jon_test_1.png
Note that markers are turned off here, but that shouldn't affect the render.
jon_test_1.png (13.33 KiB) Viewed 3080 times

Re: Argument dimensions are incompatible

PostPosted: Thu Dec 20, 2018 8:23 am
by autolog
Hi Dave,
Thanks for checking it out.

I must have ticked that by mistake as I don't actually want to fill it. :oops:

However, I now have another error:
Matplotlib Critical Error [Temperature Master Bedroom] Fatal error: expected x and y to have same length
Matplotlib Critical Error [Temperature Master Bedroom] expected x and y to have same length

I assume this is a ported message from Matplotlib? I have googled but can't seem to find a cause. :?

I have uploaded the files into the same location for you to look at if you have the time. :)

Re: Argument dimensions are incompatible

PostPosted: Thu Dec 20, 2018 5:06 pm
by DaveL17
autolog wrote:
I have uploaded the files into the same location for you to look at if you have the time. :)

Thanks for the update and for the files. Sorry to hear that you're still having trouble. I will have a look at the new files you shared; in the past, I've found this error comes up sometimes when a CSV file is malformed. That is certainly not the only possible cause, though.

Re: Argument dimensions are incompatible

PostPosted: Fri Dec 21, 2018 8:19 am
by DaveL17
autolog wrote:
However, I now have another error:
Matplotlib Critical Error [Temperature Master Bedroom] Fatal error: expected x and y to have same length
Matplotlib Critical Error [Temperature Master Bedroom] expected x and y to have same length

Hi Jon - try as I might, I'm unable to recreate this error using the data you provided (and the image of your device settings). I tried amending an existing device and creating a new device out of whole cloth and the chart updated as expected in each case. Obviously, you are seeing an error which is the important bit.

Please try creating a new chart device and see if it's still giving you the same error. If that doesn't work, try shutting down and restarting the plugin to see if that makes a difference.

Re: Argument dimensions are incompatible

PostPosted: Fri Dec 21, 2018 9:28 am
by autolog
Hi Dave,
Thanks for checking it out. :)

I will start from square one and see what happens - I'll keep you posted.

Re: Argument dimensions are incompatible

PostPosted: Wed Jan 30, 2019 6:28 am
by DaveL17
Took a long time to spot this one, but I think I have it worked out. The next release of the plugin will include a fix for the "argument dimensions are incompatible" error.