matplotlib2tikz date data error












1















So I'm trying to convert a plot from python to Tikz with hour data in the x axis.



This is the image in python:



enter image description here



But when I use the tikz_save I got this error:



TypeError: a float is required


I'm looking and I suppose the error is for the type of data in x. How can i solve this?



Thanks in advance!










share|improve this question



























    1















    So I'm trying to convert a plot from python to Tikz with hour data in the x axis.



    This is the image in python:



    enter image description here



    But when I use the tikz_save I got this error:



    TypeError: a float is required


    I'm looking and I suppose the error is for the type of data in x. How can i solve this?



    Thanks in advance!










    share|improve this question

























      1












      1








      1








      So I'm trying to convert a plot from python to Tikz with hour data in the x axis.



      This is the image in python:



      enter image description here



      But when I use the tikz_save I got this error:



      TypeError: a float is required


      I'm looking and I suppose the error is for the type of data in x. How can i solve this?



      Thanks in advance!










      share|improve this question














      So I'm trying to convert a plot from python to Tikz with hour data in the x axis.



      This is the image in python:



      enter image description here



      But when I use the tikz_save I got this error:



      TypeError: a float is required


      I'm looking and I suppose the error is for the type of data in x. How can i solve this?



      Thanks in advance!







      python matplotlib2tikz






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 9 at 23:58









      Diego ValleDiego Valle

      223




      223






















          1 Answer
          1






          active

          oldest

          votes


















          2














          It is difficult to know exactly what's happening, but from what I can tell this will solve your problem



          import matplotlib.pyplot as plt
          import datetime
          from matplotlib2tikz import save as tikz_save

          # input data
          t = ['10:00:00', '10:05:00', '10:07:00', '10:27:00']
          P = [10, 20, 30, 40]

          plt.style.use('ggplot')

          fmt = '%H:%M:%S'
          tseconds = [datetime.datetime.strptime(k, fmt) for k in t]
          dt = [(k - tseconds[0]).seconds for k in tseconds]
          dtmax = float(max(dt))
          dt = np.array(dt) / dtmax

          fig, ax = plt.subplots()
          ax.plot(dt, P)
          ax.set_xlabel('time')
          ax.set_ylabel('Pressure')
          fig.canvas.draw()

          labels = plt.xticks()
          labels = [datetime.timedelta(seconds = label * dtmax) + tseconds[0] for label in labels[0]]
          tlabels = [label.strftime(fmt) for label in labels]
          ax.set_xticklabels(tlabels)
          plt.xticks(rotation = 45)

          # export
          tikz_save('test.tex')


          enter image description here



          I know the x-label is off, I will leave that part for you to figure out






          share|improve this answer























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "85"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f469460%2fmatplotlib2tikz-date-data-error%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            It is difficult to know exactly what's happening, but from what I can tell this will solve your problem



            import matplotlib.pyplot as plt
            import datetime
            from matplotlib2tikz import save as tikz_save

            # input data
            t = ['10:00:00', '10:05:00', '10:07:00', '10:27:00']
            P = [10, 20, 30, 40]

            plt.style.use('ggplot')

            fmt = '%H:%M:%S'
            tseconds = [datetime.datetime.strptime(k, fmt) for k in t]
            dt = [(k - tseconds[0]).seconds for k in tseconds]
            dtmax = float(max(dt))
            dt = np.array(dt) / dtmax

            fig, ax = plt.subplots()
            ax.plot(dt, P)
            ax.set_xlabel('time')
            ax.set_ylabel('Pressure')
            fig.canvas.draw()

            labels = plt.xticks()
            labels = [datetime.timedelta(seconds = label * dtmax) + tseconds[0] for label in labels[0]]
            tlabels = [label.strftime(fmt) for label in labels]
            ax.set_xticklabels(tlabels)
            plt.xticks(rotation = 45)

            # export
            tikz_save('test.tex')


            enter image description here



            I know the x-label is off, I will leave that part for you to figure out






            share|improve this answer




























              2














              It is difficult to know exactly what's happening, but from what I can tell this will solve your problem



              import matplotlib.pyplot as plt
              import datetime
              from matplotlib2tikz import save as tikz_save

              # input data
              t = ['10:00:00', '10:05:00', '10:07:00', '10:27:00']
              P = [10, 20, 30, 40]

              plt.style.use('ggplot')

              fmt = '%H:%M:%S'
              tseconds = [datetime.datetime.strptime(k, fmt) for k in t]
              dt = [(k - tseconds[0]).seconds for k in tseconds]
              dtmax = float(max(dt))
              dt = np.array(dt) / dtmax

              fig, ax = plt.subplots()
              ax.plot(dt, P)
              ax.set_xlabel('time')
              ax.set_ylabel('Pressure')
              fig.canvas.draw()

              labels = plt.xticks()
              labels = [datetime.timedelta(seconds = label * dtmax) + tseconds[0] for label in labels[0]]
              tlabels = [label.strftime(fmt) for label in labels]
              ax.set_xticklabels(tlabels)
              plt.xticks(rotation = 45)

              # export
              tikz_save('test.tex')


              enter image description here



              I know the x-label is off, I will leave that part for you to figure out






              share|improve this answer


























                2












                2








                2







                It is difficult to know exactly what's happening, but from what I can tell this will solve your problem



                import matplotlib.pyplot as plt
                import datetime
                from matplotlib2tikz import save as tikz_save

                # input data
                t = ['10:00:00', '10:05:00', '10:07:00', '10:27:00']
                P = [10, 20, 30, 40]

                plt.style.use('ggplot')

                fmt = '%H:%M:%S'
                tseconds = [datetime.datetime.strptime(k, fmt) for k in t]
                dt = [(k - tseconds[0]).seconds for k in tseconds]
                dtmax = float(max(dt))
                dt = np.array(dt) / dtmax

                fig, ax = plt.subplots()
                ax.plot(dt, P)
                ax.set_xlabel('time')
                ax.set_ylabel('Pressure')
                fig.canvas.draw()

                labels = plt.xticks()
                labels = [datetime.timedelta(seconds = label * dtmax) + tseconds[0] for label in labels[0]]
                tlabels = [label.strftime(fmt) for label in labels]
                ax.set_xticklabels(tlabels)
                plt.xticks(rotation = 45)

                # export
                tikz_save('test.tex')


                enter image description here



                I know the x-label is off, I will leave that part for you to figure out






                share|improve this answer













                It is difficult to know exactly what's happening, but from what I can tell this will solve your problem



                import matplotlib.pyplot as plt
                import datetime
                from matplotlib2tikz import save as tikz_save

                # input data
                t = ['10:00:00', '10:05:00', '10:07:00', '10:27:00']
                P = [10, 20, 30, 40]

                plt.style.use('ggplot')

                fmt = '%H:%M:%S'
                tseconds = [datetime.datetime.strptime(k, fmt) for k in t]
                dt = [(k - tseconds[0]).seconds for k in tseconds]
                dtmax = float(max(dt))
                dt = np.array(dt) / dtmax

                fig, ax = plt.subplots()
                ax.plot(dt, P)
                ax.set_xlabel('time')
                ax.set_ylabel('Pressure')
                fig.canvas.draw()

                labels = plt.xticks()
                labels = [datetime.timedelta(seconds = label * dtmax) + tseconds[0] for label in labels[0]]
                tlabels = [label.strftime(fmt) for label in labels]
                ax.set_xticklabels(tlabels)
                plt.xticks(rotation = 45)

                # export
                tikz_save('test.tex')


                enter image description here



                I know the x-label is off, I will leave that part for you to figure out







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 10 at 1:12









                caveraccaverac

                6,4371827




                6,4371827






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f469460%2fmatplotlib2tikz-date-data-error%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to send String Array data to Server using php in android

                    Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

                    Is anime1.com a legal site for watching anime?