Coder Social home page Coder Social logo

Comments (2)

yzbyx avatar yzbyx commented on June 3, 2024 1

Thank you very much for the method you provided! This package has saved me a lot of work.

from scienceplots.

echedey-ls avatar echedey-ls commented on June 3, 2024

I see the problem. The science style does changes the layout of the figure via:

# Always save as 'tight'
savefig.bbox : tight

This script yields the same sizes

# %%
from PIL import Image
import numpy as np

import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns

sns.reset_orig()

import scienceplots
plt.style.use(['science','no-latex'])

matplotlib.rcParams['axes.unicode_minus'] = False
plt.rc('font',family='Times New Roman')
mm = 1 / 25.4
fontsize = 10
_width = 70 * mm
_ratio = 5 / 7
figsize = (_width, _width * _ratio)
#%%
data_x = np.linspace(0, 10, 100)
data_y = data_x ** 2
path = r"."
#%%
matplotlib.rcParams["savefig.bbox"] = matplotlib.rcParamsDefault["savefig.bbox"]
fig, ax = plt.subplots(1, 2, figsize=figsize)
ax[0].plot(data_x, data_y)
fig.subplots_adjust(wspace=0.3, bottom=0.22, top=0.95, right=0.88, left=0.1)
print(fig)
fig.savefig(fr"{path}\test.tif", dpi=500, pil_kwargs={"compression": "tiff_lzw"})

im = np.array(Image.open(fr"{path}\test.tif"))
im.shape
#%%
sns.reset_orig()
fig, ax = plt.subplots(1, 2, figsize=figsize)
ax[0].plot(data_x, data_y)
fig.subplots_adjust(wspace=0.3, bottom=0.22, top=0.95, right=0.88, left=0.1)
print(fig)
fig.savefig(fr"{path}\test_ori.tif", dpi=500, pil_kwargs={"compression": "tiff_lzw"})

im = np.array(Image.open(fr"{path}\test_ori.tif"))
im.shape
#%%

I don't think this is a bug that needs to be resolved; the science: savefig.bbox setting is there to reduce unused space in a paper. I'm closing this then, although you have raised a fair point regarding this package. I will write it down in the docs I'm preparing.

from scienceplots.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.