Python Pylot savefig()/show() can't generate quality figure in pdf.

Recently I am plotting some figures using pyplot. If I save the figure in png format, it has great quality, but not in pdf.
Tried setting the dpi and figure size but doesn't work. Seesm on Ubuntu and Windows I have not this problem. Anybody know why? Thanks. ^_^.

Sanne wrote:
godott, your example doesn't run for me, you didn't define x_data, y_data, y_data2:
Traceback (most recent call last):
NameError: name 'x_data' is not defined
Can you give a working example that runs as it is, and best also a screenshot of the bad pdf output you're seeing?
About the dpi setting, I think FreeTheBee is correct, as vector data is dpi independent.
Another shot in the dark: what about your optional dependencies on matplotlib? Maybe there's something missing. Check with
$ pacman -Qi python-matplotlib
Here's what I have:
Optional Deps : python-gobject: for GTK3Agg/GTK3Cairo backend
python-cairo: for GTK3Cairo backend [installed]
python-pyqt4: for Qt4Agg backend [installed]
tk: used by the TkAgg backend [installed]
ghostscript: usetex dependencies [installed]
texlive-bin: usetex dependencies
python-tornado: for webagg backend [installed]
python-pillow: for reading/saving .jpg/bmp/tiff files [installed]
for x_data, y_data you can do
x_data=numpy.linspace(0, 1, 100)
y_data=numpy.sin(x_data)
y_data1=y_data
y_data2=y_data-1
I installed matplotlib from pip originally. Now I reinstalled it using pacman and have all the dependancies installed. I still have the problem. Especially when I do "fill_between".  I will update the comparison of the result of pdf and png. There is big difference.
https://www.dropbox.com/s/u95y0ohr10lw9 … 5.pdf?dl=0
https://www.dropbox.com/s/txgk3k8jk9hey … 5.png?dl=0
Last edited by godott (2014-12-01 21:10:14)

Similar Messages

  • Can we generate the output of SQL Query in XML format ..

    Hi Team,
    Can we generate an XML doc for an SQL Query.
    I've seen in SQL Server 2000.It is generating the output of an SQL Query in xml format.
    select * from emp for xml auto
    The output looks like
    <emp EMPNO="7369" ENAME="SMITH" JOB="CLERK" MGR="7902" HIREDATE="1980-12-17T00:00:00" SAL="2800" DEPTNO="20"/><emp EMPNO="7370" ENAME="SMITH" JOB="CLERK" MGR="7902" HIREDATE="1980-12-17T00:00:00" SAL="2800" DEPTNO="10"/>

    Just a little bit of short hand.
    Get the XML out of your database, via HTTP
    Of course the easiest method is just to return an XMLType from a stored procedure and let the calling routine figure out what to do with it. Instead
    of that way though, I'll show you how to do it via HTTP. It's all completely built into 10g and is super easy to use.
    CREATE OR REPLACE VIEW emps_and_depts AS
    SELECT e.employee_id AS "EmployeeId",
    e.last_name AS "Name",
    e.job_id AS "Job",
    e.manager_id AS "Manager",
    e.hire_date AS "HireDate",
    e.salary AS "Salary",
    e.commission_pct AS "Commission",
    XMLFOREST (
    d.department_id AS "DeptNo",
    d.department_name AS "DeptName",
    d.location_id AS "Location"
    ) AS "Dept"
    FROM employees e, departments d
    WHERE e.department_id = d.department_id
    Some people hear web and immediately start salivating about security issues. Let me address that quickly. Just because you have the HTTP and/or
    FTP servers running in the database, that does not mean you have a security problem. For one, I would hope your databases are behind a firewall.
    Second, with the correct architecture (DMZ, app servers, etc) you can make this data available outside the firewall fairly transparently and third,
    just because it's on the web does not mean the data MUST be available on the internet. This is a good way to make your data available on your
    intranet. If you are worried about people INSIDE your firewall, that still doesn't preclude web based access. Follow Oracle security guidelines.
    Before I show you how to get to your data, let's talk about URLs and URIs. A URL is a Uniform Resource Locater and URI is a Uniform Resource
    Identifier. A URL is the way you would identify a document on the net, i.e. http://www.oracle.com is a URL. A URI is a more generic form of a URL.
    Oracle supports three types of URI: HTTPURIType - basically a URL (which would be like the URL above), XDURIType - a pointer to an XDB resource
    (usually an XML document but can be other objects), and DBURIType - a pointer to database objects.
    It's the DBURIType that we're going to concentrate on here. The DBURIType let's us reference database objects using a file/folder paradigm. The
    format for a DBURI is /oradb/<schema>/<table>. Oradb is shorthand for the database; it is not the database name or SID. My database is named XE
    but I still use oradb in the DBURI. For example, the view we created above is in my XE database, is owned by HR (at least in my case) and is called
    EMPS_AND_DEPTS. This can be referenced as /oradb/HR/EMPS_AND_DEPTS.
    If the view had many rows and you wanted only one of them, you can restrict it by including a predicate. The documentation for XDB has a great
    write up on Using DBURIs.In our case, we are going to write out the entire document. Now that you understand that the DBURI is a pointer to
    objects in our instance, we can use that to access the data as a URL.
    The format for the URL call is http://<machinename>:<port>/<DBURI>
    In my case, my XE database is running on a machine called mach1 and is listening on port 8080. So to see the view we created above, I open my
    browser and navigate to: http//mach1:8080/oradb/HR/EMPS_AND_DEPTS
    The created URL will be as http//mach1:8080/oradb/PUBLIC/EMPS_AND_DEPTS
    If your database is set up correctly and listening on port 8080 (the default), your browser should ask you to login. Login as the user who created the
    view (in my case HR). You should now get an XML document displayed in your browser.
    And that's it. It doesn't get much simpler than that. If you get rid of the descriptive text above, it basically comes down to:
    Create a table or view
    Open your web browser
    Enter a URL
    Enter a user ID and password
    View your XML
    If you notice, Oracle formatted the data as XML for us. Our view returns scalar columns and an XML fragment called Dept. Oracle formatted the
    return results into an XML format.
    And as a side note, if you look closely, you'll see that my URL has PUBLIC where I said to put HR. PUBLIC is a synonym for all objects that your
    logged in user can see. That way, if your user has been granted select access on many schemas, you can use PUBLIC and see any of them.

  • Windows XP SP3 in Spanish, you can not generate spoken menus

    hello.
    Windows XP SP3 in Spanish, you can not generate spoken menus to iPod. When you synchronize creates WAV audio files at the root of drive C, instead of the inside of the iPod. How to solve this problem. Thank you.

    Hi,
    I have the same issue, spoken menus tags are generated as wav files to the root of the C:\ drive on Vista but are not copied to the iPod Control Speakable folder.
    Some users reported the same in Chinese and English on another thread . This is not only in Vista but also on XP. I tried on an old XP computer and it worked fine but will not on my top notch system.
    Wonder if this has to do with multiple hard drive...Also, Explorer pops up showing the ipod files, even if not in disk mode...
    menus are

  • Maximum file size that can be generated with an FTP adapter

    Hy
    At our 'Vehicle Order Management'-project within Toyota Moter Europe we process in- and outbound interface by using FTP adapters in interconnect. For certain outbound interface we generate semi-large amount of files >9MB. Due to parameter setting this amount can be bigger. What is the maximum amount of files that interconnect can generate and how is this being determined?
    Is the maximum size determined by the filesystem or setting in interconnect or ... Please point me in a direction where to find this information.
    Kind Regards

    WELCOME TO Digitizing Group
    You seem to be looking for quality machine embroidery designs. If you are looking for embroidery digitizing, then
    digitizing-group was exactly the right place. we, a team of digitizers with more than 10 years experiences would like to
    offer you the best service with a very reasonable price. We provide 24-hours service 7 days a week, and you will
    receive your completed file within 24 hours after sending us your artwork. Certainly the rush tape can be provided in
    just a few hours, and all with the same flat rate!!!
    . Extremely fast turnaround time
    . Competitive Pricing
    . Available Format
    . Easy payment - we take company check, Visa, Mastercard, T/T, Western union.
    . High quality design that will keep your customers bring continuous order.
    We would like you to try our service. We are confident that you will be impressed by our quick turnover, excellent
    digitizing quality, and low prices.
    And that will help you succeed with keeping your customers coming back. Therefore we have always focused on how
    we can improve the quality and serive. please contact us,
    Tel: 1-801-938 6699

  • Created a pdf file showing a graph generated with CL_GUI_CHART_ENGINE

    Hi Experts!
    Please, anyone has already created a pdf file showing a graph generated with CL_GUI_CHART_ENGINE??
    Could anyone help me with this requirement?
    Thanks in advance,
    Best regards

    Hi,
    I searched and found another solution, because with the code from the link above I got everytime a short dump, maybe I did something wrong.
    The solution works with Adobe Form
    1. I used the class cl_igs_chart_engine to create a chart with my data and customizing to get the binary data of the image.
    2. Convert the binary tab to xstring.
    3. You can use this xstring on the Adobe Form to display the image.
    Maybe the following tips are useful.
    *How to get the data of chart you can see in the class
    CL_TIME_CHART_SIMPLE (use cl_gui_chart_engine for the chart but  class cl_igs_chart_engine for saving the image)
    *How to bind the image to the importing parameter (xstring)
    /people/thomas.jung3/blog/2005/07/13/lessons-learned-from-adobe-forms-development
    Regards

  • Show long text for Quality Notification when double click field in alv

    I have an ALV grid called using a FM and I am using the user command routine to do somthing when a particular cell is  clicked.  I want to  call up the root cause text from the action box of the QN via QM03 .  I am building a BDC table to call with a CALL transaction but when I write my BDC up to that point, the program is running the BDC but not going to the point where the long text is displayed is i am in mode 'N'.
    FORM user_command USING r_ucomm LIKE sy-ucomm
                             rs_selfield TYPE slis_selfield.
      READ TABLE itab INDEX rs_selfield-tabindex.
      CASE r_ucomm.
        WHEN '&IC1'.
          CASE rs_selfield-fieldname.
    * When double click on root cause, display root cause long text
            WHEN 'ZZ_URCOD'.
              PERFORM display_root_cause_text.
              CALL TRANSACTION 'QM03' USING gt_bdc MODE 'N'.
      ENDCASE.
    ENDFORM.                    "user_command
    FORM display_root_cause_text .
      FREE gt_bdc.
      PERFORM fill_bdc USING 'SAPLIQS0'     '0200'      'X'.
      PERFORM fill_bdc USING 'RIWO00-QMNUM'  itab-qmnum  space.
      PERFORM fill_bdc USING 'SAPLIQS0'     '7200'      'X'.
      PERFORM fill_bdc USING 'BDC_OKCODE'  '=10\TAB03'  space.
      PERFORM fill_bdc USING 'SAPLIQS0'     '7200'      'X'.
      PERFORM fill_bdc USING 'BDC_CURSOR'
                             'QMICON-LTURSACHE(01)'     space.
      PERFORM fill_bdc USING 'BDC_OKCODE'  '=UX01'  space.
    ENDFORM.                    " DISPLAY_ROOT_CAUSE_TEXT
    Any one have any suggestions of know of a BAPI that I can achieve the same thing?
    Thanks
    Larissa Maryniuk

    Hello,
    also try to use the messages clause (of type BDCMSGCOLL).
    This will return the system messages.
    call transaction 'XXXX' using BDCTAB
                                            mode 'P'
                                            messages into MSG_TAB.
    Try to change the mode from 'N' to 'P' and try to place a breakpoint and check what happens.
    Alternatively, you can read the Quality Notification text using FM READ_TEXT, and then show this data to the user in pop-up, rather than calling the tx.
    Hope this helps.

  • Image shows up in bad quality in the button (idvd6)

    I dragged a jpeg file into the button and it shows up in good quality at first. But after I create another button or preview the project, the image will turn pixely. Anyone knows why? Is this just temporary preview quality or will my final project still have pixely button image?
    Thanks for helping in advance

    Welcome to the forums.
    The Preview feature doesn't always show how things will look. A low-cost alternative is to create a disc image, which is a virtual DVD, to check how things will look and function. Go to File-Save As Disc Image to do this, and you can use Apple's DVD Player to play it just a real DVD.
    John

  • How can i generate xml like this?

    Hi all,
    How can i generate xml like this & i need to send it to via HTTP :
    <mms>
                 <subject>message subject</subject>
                 <url_image>http://image_url</url_image>
                 <url_sound>http://sound_url</url_sound>
                 <url_video>http://video_url</url_video>
                 <text>message text</text>
                 <msisdn_sender>6281XYYYYYY</msisdn_sender>
                 <msisdn_receipient>6281XYYYYYY</msisdn_receipient>
                 <sid>to be define later</sid>
                 <trx_id>Unique number</trx_id>
                 <trx_date>yyyyMMddHHmmss</trx_date>
                 <contentid>see note</contentid>
    </mms>& how can i get the value of the sid (for example)?
    I hav tried to generate that xml by using StringBuffer & append, but it's not what i mean...
    Anyone can help me?

    Ok...i got it. But i still hav some problems.
    This is the sample code that i used :
    public class XMLCreator {
         //No generics
         List myData;
         Document dom;
            Element rootEle, mmsEle, mmsE;
            StringWriter stringOut;
            mms mms;
         public XMLCreator(String subject, String image, String sound,
                    String video, String text, String sender, String recipient,
                    int id, String date, String contentid) {
              mms = new mms(subject, image, sound, video, text, sender,
                            recipient, id, contentid, date);
                    createDocument();
         public void run(){
              createDOMTree();
              print();
         private void createDocument() {
              //get an instance of factory
              DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
              try {
              //get an instance of builder
              DocumentBuilder db = dbf.newDocumentBuilder();
              //create an instance of DOM
              dom = db.newDocument();
              }catch(ParserConfigurationException pce) {
                   //dump it
                   System.out.println("Error while trying to instantiate DocumentBuilder " + pce);
         private void createDOMTree(){
              //create the root element <Mms>
              rootEle = dom.createElement("mms");
              dom.appendChild(rootEle);
              createMmsElement(mms);
         private Element createMmsElement(mms b){
              Element subjectEle = dom.createElement("subject");
              Text subjectText = dom.createTextNode(b.getSubject());
              subjectEle.appendChild(subjectText);
              rootEle.appendChild(subjectEle);
              //create url_image element and author text node and attach it to mmsElement
              Element imageEle = dom.createElement("url_image");
              Text imageText = dom.createTextNode(b.getUrl_image());
              imageEle.appendChild(imageText);
              rootEle.appendChild(imageEle);
              // & etc....
              return rootEle;
          * This method uses Xerces specific classes
          * prints the XML document to file.
         private void print(){
              try
                   //print
                   OutputFormat format = new OutputFormat(dom);
                   format.setIndenting(true);
                            stringOut = new StringWriter();
                   //to generate output to console use this serializer
                   XMLSerializer serializer = new XMLSerializer(stringOut, format);
                   //to generate a file output use fileoutputstream instead of system.out
                   //XMLSerializer serializer = new XMLSerializer(
                   //new FileOutputStream(new File("mms.xml")), format);
                   serializer.serialize(dom);
              } catch(IOException ie) {
                  ie.printStackTrace();
            public String getStringOut() {
                return stringOut.toString();
    }when i tried to show the stringOut.toString() in my jsp, it's only showed string like this :
    The Lords Of The Ring http://localhost:8084/movie/lotr.3gp 6281321488448 6281321488448 123 0 20070220114851 LOTR.
    1. Why this is happen?i want to generate xml which its format is like above.
    2. How can i send this xml (put in msg parameter) using jsp (via web) without creating the mms.xml?
    3. if i want to set the msg parameter equal to mms.xml - means that msg = mms.xml, what is the data type for msg? is it an object or anything else?
    Thx b4 in advance...

  • Error Message: Can not generate mask for the LMB peripherals

    I've added a bunch of  perhipherals to my microblaze project and used the Generate Addresses button.  I get the below error messges when I try to generate a net list. ERROR:EDK:3193 - issued from TCL procedure
       "::hw_lmb_bram_if_cntlr_v2_10_b::update_syslevel_mask" line 88
        C_MASK (IPNAME:lmb_bram_if_cntlr, INSTANCE:ilmb_cntlr) - Can not generate
       mask for the LMB peripherals! An address decode mask is assigned to all LMB
       peripherals connected to the MicroBlaze processor. The address decode mask is
       based on a set of decode bits that distinguish the LMB address space from the
       OPB/PLB address space. The error message indicates that a set of decode bits
       can not be found to generate a mask. Please modify the address map of the
       slaves connected to OPB/PLB to use a common address bit.
    ERROR:EDK:1585 - IPNAME:lmb_bram_if_cntlr INSTANCE:ilmb_cntlr -
       E:\Xilinx\11.1\EDK\hw\XilinxProcessorIPLib\pcores\lmb_bram_if_cntlr_v2_10_b\d
       ata\lmb_bram_if_cntlr_v2_1_0.mpd line 77 - error computing override value for
       C_MASK using tcl
    ERROR:EDK:3193 - issued from TCL procedure
       "::hw_lmb_bram_if_cntlr_v2_10_b::update_syslevel_mask" line 88
        C_MASK (IPNAME:lmb_bram_if_cntlr, INSTANCE:dlmb_cntlr) - Can not generate
       mask for the LMB peripherals! An address decode mask is assigned to all LMB
       peripherals connected to the MicroBlaze processor. The address decode mask is
       based on a set of decode bits that distinguish the LMB address space from the
       OPB/PLB address space. The error message indicates that a set of decode bits
       can not be found to generate a mask. Please modify the address map of the
       slaves connected to OPB/PLB to use a common address bit.
    ERROR:EDK:1585 - IPNAME:lmb_bram_if_cntlr INSTANCE:dlmb_cntlr -
       E:\Xilinx\11.1\EDK\hw\XilinxProcessorIPLib\pcores\lmb_bram_if_cntlr_v2_10_b\d
       ata\lmb_bram_if_cntlr_v2_1_0.mpd line 77 - error computing override value for
       C_MASK using tcl I understand its complaining about the mask values, but I'm not exactly sure why.  Here is the address map it shows:Address Map for Processor microblaze_0
      (0000000000-0x00003fff) dlmb_cntlr    dlmb
      (0000000000-0x00003fff) ilmb_cntlr    ilmb
      (0x81800000-0x8180ffff) xps_intc_0    mb_plb
      (0x81c00000-0x81c0ffff) xps_ll_temac_0    mb_plb
      (0x83400000-0x8340ffff) Generic_SPI    mb_plb
      (0x83c00000-0x83c0ffff) xps_timer_0    mb_plb
      (0x84000000-0x8400ffff) RS232    mb_plb
      (0x84400000-0x8440ffff) mdm_0    mb_plb
      (0x8c000000-0x8fffffff) mpmc_0    mb_plb
      (0xfffff000-0xffffffff) xps_gpio_0    mb_plb Any thoughts?  I was unable to find another instance of this error message.

    Version 11.3 I actually figured it out, its rather odd that the generate addresses button doesn't do this automatically. It appears that the mask was set to trigger use of the cache on a single bit.  0x00800000.  I had enough devices added where automatic address generation was using the most significant bit meaning that bit was falling within other address spaces. I changed it to 0xFFFFC000.  (Basically telling it to match addresses if all address signals above 16KB are zero).  I don't know if that is the proper way to do it, but it accepted it.  Now I'm fighting with some stuff regarding an FSL bus I added that apparently isn't quite properly setup, so I haven't found out yet if the processor likes that address mask.   But the tools appear to like it.

  • Please, I need help - How can I generate a text file with Word format?

    Hello friends at www.oracle.com ,
    is it possible for me to create a text file - that is, with TEXT_IO.fopen, and so on - that's already formatted as a Word document?
    We have a Forms program here, where it's needed to generate a text file with .RTF format, 8 centimeters margin, Times New Roman font, with size 7.
    Best regards,
    Franklin Goncalves Jr.

    Hello Shay,
    sincere thanks for your answer. And, to answer your last question, I'm using client-server model.
    Since I couldn't create this .RTF file by using built-ins like TEXT_IO, I tried to generate an .RTF file using Reports, passing the parameters DESTYPE, DESNAME and DESFORMAT, as shown below.
    add_parameter (pl_id, 'DESTYPE', text_parameter, 'FILE');
    add_parameter (pl_id, 'DESNAME', text_parameter, 'c:\franklin.rtf');
    add_parameter (pl_id, 'DESFORMAT', text_parameter, 'RTF');
    However, the just generated .RTF file is uncomprehensible. After opening the file at Microsoft Word, I can see the following message at the top of file:
    This file was created by Oracle Reports. Please view this document in Page Layout mode.
    ... and informations doesn't appear as desired.
    If I can't generate such text format by using TEXT_IO, and if generating an .RTF file through Reports shows me an incomprehensible result, how can I export the selected result to an .RTF file?
    When Reports is opened, choosing Generate to file -> RTF doesn't export anything.
    Thanks, and best regards,
    Franklin Goncalves Jr.

  • After PGI what document can be generate?

    Hi experts,
    After PGI what document can be generate?
    is it possible to generate Accounting document ?

    Hi,
    After the PGi
    Value changes are posted to the balance sheet account in inventory accounting
    A material document gets created showing the changes.
    Goods issue posting is automatically recorded in the document flow
    Stock determination is executed for the vendor's consignment stock
    A worklist for the proof of delivery is generated
    Hope it helps. Please reward if useful.
    Thanks & Regards
    Sadhu Kishore

  • Can we generate proforma invoice in case of POD for GI

    Hi
    Can you please clarify me the following....
    Can we generate proforma billing after goods issue if the transaction is POD relevant.
    while sending the goods to the ship-to a proforma invoice  should accompany the goods.
    Is it possible ?

    Hi Anil,
    Yes you can create Proforma invoice for the delivery after PGI even that delivery is relevant for POD.
    You can accompany a proforma invoice while sending the goods to the ship-to party.
    I hope it will help you,
    Regards,
    Murali.

  • How can I Generate two different reports from single execution of Test cases in NI teststand

    Hi,
    My requirement is to generate two different reports from NI teststand. One for the Logging of error descriptions and the other report is by default generated by the Teststand. How can i generate a txt file that contains error descriptions other than that mentioned in the default report?
    Solved!
    Go to Solution.

    Do you need to do that just for these two sequences but not for other sequences? I don't see a problem to use SequenceFilePostStepRuntimeError. Create this callback in both sequence files and configure them to log into the same file. SequenceFilePostStepRuntimeError callback is called after each step of the sequence file if it has runtime error. You can access the calling step error information via RunState.Caller.Step.Result.Error property. Take a look to attached example.
    The "other way" is useful if you need to log errors not for every step of the sequence file, but for some of them. This is more complex, because you need to create a custom step types for these steps. For the custom step you can create substeps (post-step in your case) which will be executed every time after step of this type executed. Then, this is you job to determine if error happened in the step, acces to step's error information is via Step.Result.Error property. 
    Also, be aware that step's post-expression is not executed in case of error in the step.
    Sergey Kolbunov
    CLA, CTD
    Attachments:
    SequenceFilePostStepRuntimeError_Demo.seq ‏7 KB

  • Can we generate one report tab for each of the prompt values selected in the bobj 4.0 webi report.

    can we generate one report tab which filters
    with each prompt value selected in bobj 4.0 webi report.

    Hi Shrinidhi ,
    It can be achievable with static tabs created for each LOV .But this is not recommended because , object values can change dynamically .
    It is good idea to use section on prompt object in the report .With sections great feature available is in larger report it’s easy to navigate using map. It displays the section tree.You can select the particular LOV to navigate.

  • Can Designer generate ADF Entity Objects, View Objects and Apps Module ?

    Hi all,
    On what way can Designer integrate with JDeveloper (+ ADF) ?
    Can Designer generate ADF Entity Objects, View Objects and Apps Module ?
    Thank you for your help,
    xtanto

    Designer itself has no direct integration with JDeveloper. However, there are three options. First of all, you can get a JDeveloper extension (download this separately) that lets you create a Connection to a Designer repository. From that Connection you can find modules that you defined in Designer and generate Entity and View objects for the tables and columns that you used in those modules, and an Application Module. It does not create JSPs or other user interface objects.
    Another option is to buy JHeadstart from Oracle. This contains a set of code generators and ADF extensions that include an ability to get information from a Designer repository. JHeadstart works fine for non-Designer users too, but was built by the same people who wrote Designer Headstart - they know the repository API intimately.
    The third option is to download Oracle Designer Extension Builder (ODEB) which was just recently made available. This is a product of a collaboration between Designer users from the Oracle Development Tools Users Group (ODTUG) and Oracle to extend the capabilities of Designer with user written tools and utilities. You could use ODEB to write your own generators for ADF Business Components. Or you could wait and see if someone else in the user community does this. I hope that you or whoever does such a generator will be willing to share it with us all.

Maybe you are looking for