Как контролировать размер графика с помощью легенды разного размера matplotlibPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как контролировать размер графика с помощью легенды разного размера matplotlib

Сообщение Anonymous »

Я хочу иметь два участка одинакового размера. Размер фигуры не так важен.
Единственное изменение, которое я вношу, — это длина меток.
(На самом деле у меня есть 2 связанных набора данных)
Длинная метка приводит к деформации графика. Как мне этого избежать? Мне нужно 2 связных сюжета.

Код: Выделить всё

import numpy as np
from matplotlib import pyplot as plt

def my_plot(x,ys,labels, size = (5.75, 3.2)):
fig, ax1 = plt.subplots(nrows=1, ncols=1, sharex=True,
figsize=size,
dpi = 300)

ax1.plot(x, ys[0], label = labels[0])
ax1.plot(x, ys[1], label = labels[1])

## Add ticks, axis labels and title
ax1.set_xlim(0,21.1)
ax1.set_ylim(-50,50)
ax1.tick_params(axis='both', which='major', labelsize=18)
ax1.set_xlabel('Time', size = 18)
ax1.set_ylabel('Angle', size = 18)

## Add legend outside the plot
ax1.legend(ncol=1, bbox_to_anchor=(1, 0.5), loc='center left', edgecolor='w')

# Dummy data
x1 = np.arange(0, 24, 0.1)
y1_1 = np.sin(x1)*45
y1_2 = np.cos(x1)*25

my_plot(x1, [y1_1, y1_2], ["sin", "cos", "tan"])
my_plot(x1, [y1_1, y1_2], ["long_sin", "long_cos", "long_tan"])
в результате получаются следующие два графика:
Изображение
Изображение

Я пробовал:
  • Код: Выделить всё

    plt.tight_layout()
  • Код: Выделить всё

    ax1.set_aspect(0.1)
  • изменение размера подграфиков – это почти решает проблему, но не совсем, поскольку меняются все эффективные размеры шрифтов.


Подробнее здесь: https://stackoverflow.com/questions/791 ... matplotlib
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»