I am unable to increase the size of the plot(graph) - matplotlib

I'm using matplotlib in spyder. Size of plot is not good enough. I can only see it in the console on the bottom right. Is there any way to make it large?

Spyder images are supposed to be adjustable based on your setup. You can do this manually through the gui. I am guessing that you are not setting your figure size which is one way to increase the size of your figure.
fig = plt.figure(figsize=(16,16)) #Larger the numbers, the larger the figure
Another thing to consider when saving your figure. Use a vectorized format like a pdf and set your dpi so that you can zoom without degrading quality. This will make the file larger of course but it helps make publication quality figures.

Related

Matplotlib: Grid is too tight for small plot

I want to make the plot smaller, so it can save some space in print. However, when I make it smaller, the grid will be too tight:
Honestly, I don't get it. Why can't matplotlib auto-detect that this image is too small that the lable should be with a bigger interval?
So, How can I make the grid more sparse, so the lables won't overlap with each other?
Additionally, the title will also collapse with the labels. I can set it manually, by plt.suptitle(title, y=1.08). So it will look better
But I'm wondering if there is anyway to do it automatically?
Note: I'm using seaborn, but I tried with pure matplotlib, same problem.

What is the highest quality export for Spotfire visualizations?

I have a question regarding high quality exports from spotfire to PDF.
I read on Spotfire support page that to obtain highest quality exports for visualizations you should select vectors (instead of rastar). They still provide better quality than rastar graphics with maximum quality (5 out of 5). However, when I export these images to PDF, the quality is relatively low. Is there a way I can increase the quality? Would it help to select e.g. PPT exports? I think manual screenshots are still better in quality, but more timeconsuming. We are looking for end-user friendly interface.
Furthermore, if your table is longer and you use slider, what is the recommended way of exporting such a graphic?
Thanks a lot.
raster graphics are generally lower quality. jpeg, for example, is a raster format, where each pixel in the image is coded to a specific color; if you resize the image, it becomes blurry or loses detail.
vector format defines points, lines, and shapes that make up an image. when you scale the image up or down, there is no guesswork trying to blend pixels -- instead the points are recalculated to whatever size. for example, fonts are usually vector format, which is what allows them to be scaled up or down to any size.
the quality of the vector image may be low due to the zoom settings on your PDF viewer (although the image can be scaled to any size, your screen still relies on pixels to display it), but it is the most possible detail. if you zoom in you will probably see an increase in quality.
manual screenshots probably look "best" because there is no scaling or resizing involved. you can export to PNG (raster) image format to get the same effect.
you will not see an increase in quality by exporting to Powerpoint. either you will export it as a raster image to a PPT slide (default settings) or you will export it as a vector using the "As Editable Image" checkbox (which allows you to modify the image in PPT).
what is your end goal? Spotfire is best suited for viewing in the Desktop or Web Player applications, otherwise you lose a lot of features like interactivity, (potentially) live date. if you have to make a lot of exports maybe it is easier to simply provide a link to the analysis?
to your final question, Spotfire is not very good at table exports. I have had some luck with increasing the page size (A4 or A5, for example) and using Landscape over Portrait. again, I recommend to view it in the application.

Is there any way I can enlarge a stimulus in #psychopy without losing image quiality?

I'm importing my stimulus from a folder. I would like to make them bigger *the actual image size is 120 pix (height) x 170 pix (width). I've tried to double the size by using this code in the PsychoPy Coder:
stimuli.append(visual.ImageStim(win=win, name='image', units='cm', size= [9, 6.3],
(I used the double number in cms) but this distorts the image. Is it any way to enlarge it without it distorting, or do I have to change the stimuli itself?
Thank you
Just to answer what Michael said in the comment: no, if you scale an image up, the only way of guessing what is in between pixels is interpolation. This is what psychopy does and what ANY software would do. To make an analogy: take a picture of a distant tree using your digital camera. Then scale the image up using all kinds of software. You won't suddenly be able to see the individual leaves since the software had no such information as input.
If you need higher resolution, put higher resolution images in your folder. If it's simple shapes, you may use built-in methods such as visual.ShapeStim and it's variants: visual.Polygon, visual.Rect and visual.Circle. Psychopy can scale these shapes freely so they always stay sharp.

Re-sizing visual image while maintaining image dimensions

I'm working with documents, so maintaining the the original image dimensions and subsequent dpi is important.
The aspect ratio is always maintained so the automatic fill modes and alike don't seem to have any effect.
Say I have a 300 dpi document and the user want to clear an inch border around the image. So I need an inch cropped from the image but the result needs to be the original image dimensions (2550x3300).
I have been able to achieve this effect with...
...&crop=300,300,-300,-300&margin=300,300,300,300
This works, but seems more than a little clunky. I've tried a lot of other combinations but they all seem to enlarge or reduce the image size which is undesirable in my case.
So does someone know a simpler syntax to achieve the desired result, or do I need to re-size the image then calculate and fill with a margin as I'm doing now.
Thanks
It turns out that my example requests the image in it's full size which turns out to be a special case. When I introduce a width or height into the command line things don't work very well since crop size is in respect to the original image dimensions and margin size is in respect to the result image.
Thinking about it more I abandoned the crop approach. What I really needed was a way to introduce a clipping region into the result bitmap. So I built an extension to do just that. It works well as it doesn't interfere with any of Resizer's layout calculations and the size of the returned image is whatever the height or width were specified as. Which is just what I needed. The Faces plugin has an example of introducing a clipping region.
Karlton
Cropping and re-adding 300px on each edge is best accomplished exactly the way you're doing it:
&crop=300,300,-300,-300&margin=300
What kind of improved syntax would you expect? This isn't a common operation.

Gnuplot resize with key below

When I use gnuplot I make a multiplot with 2x2 Pics. They got all the same lines with something different in there though. Thus I want them just one line title for all of them. When I scale on on below of there it resizes that special plot. Any Idea how to archieve it properly?
Thanks!
There is a patch recently added to the gnuplot sourceforge site (patch 611 here) which allows the addition of explicit margins around plots while keeping the plots the same size.
If you don't want to patch and build gnuplot yourself, you probably have to resort to setting margins manually or in a semiautomatic way, as I have done before.