Есть ли какой-либо способ изменить размер всего графика, а также размер шрифта и ширину линии в matplotlib или seaborn?

#python #matplotlib #seaborn

#python #matplotlib #seaborn

Вопрос:

Есть много способов изменить или установить размер рисунка или размер подзаголовка в matplotlib или seaborn , но до тех пор, пока размер фигуры изменяется, скажем, становится больше, размер шрифта, ширина линии и размер маркера будут визуально относительно короче. Поэтому мне интересно, есть ли какой-либо способ изменить размер графика, но сохранить все эти вещи без изменений. Это немного похоже на функцию масштабирования во многих pic-приложениях, но эти масштабирования не могут улучшить качество изображения, в то время как изменение размера изображения может.

Комментарии:

1. Привет, покажите нам код, который вы использовали для увеличения участков

2. @404pio Я не думаю, что код важен для этого вопроса. Если вы спросите, код может быть таким же простым, как sns.displot(data=data, x='duration', kde=True) или ax.plot(x,y) . Ключевым моментом является то, как увеличить графики, а также все размеры, такие как размер шрифта, ширина линии и т.д. (например, размер шрифта метки галочки и легенды). Конечно, я могу изменить все размеры шрифта вручную, но мне интересно, есть ли лучший или более элегантный метод. Спасибо.

3. Я думаю, что код важен в этом вопросе — мы получим отправную точку.

4. Вместо того чтобы изменять размер, увеличьте dpi при вызове savefig. Затем отрегулируйте размер выходных данных по своему усмотрению.

5. @JodyKlymak О да, именно так! Я попытался изменить dpi во время вызова savefig , и качество изображения улучшилось, а относительный визуальный размер не изменился по сравнению с исходным. Это то, о чем я прошу. Вы можете дать ответ, и я приму его. Большое спасибо.

Ответ №1:

Вы можете использовать sns.set() свойство. Вот пример кода, который может помочь вам понять.

Это с обычным шрифтом.

 import seaborn as sns
import matplotlib.pyplot as plt

penguins = sns.load_dataset("penguins")
sns.displot(data=penguins, x="flipper_length_mm", kde=True)
 

Обычные шрифты

Это с большим шрифтом.

 sns.set(font_scale=3)  # crazy big
g = sns.displot(data=penguins, x="flipper_length_mm", kde=True)
g.fig.set_figwidth(18.27)
g.fig.set_figheight(11.7)
 

Шрифт большего размера