Как я могу нарисовать несколько фреймов данных на одном и том же рисунке из таблицы Excel, используя панд? - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь нанести несколько значений y (сила) и x (значение) на одну фигуру. Я обычно нахожу это легко, когда значения x постоянны для всех графиков, но с их изменением я не нашел способа решить это. Пожалуйста, я хотел бы помочь с лучшим способом подойти к этому.

Я приложил изображение данных, которые я пытаюсь построить. Три образца имеют различные значения x и y.

https://imgur.com/gallery/ckYAJVO

1 Ответ

0 голосов
/ 15 октября 2019

Решение

Предположим, у вас есть три кадра данных: df0, df1 и df2. Кроме того, давайте предположим, что в каждом кадре данных есть два столбца: x и y. Если мы составим список этих информационных фреймов, dfs = [df0, df1, df2], то вы можете построить все три из них на одном графике следующим образом.

Решение здесь разделено на два раздела:

  • Макетные фиктивные данные (это необходимо только для воспроизведения некоторых фиктивных данных).
  • Построение графических данных (выпотребуется использовать этот код).
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

%matplotlib inline
%config InlineBackend.figure_format = 'svg' # 'svg', 'retina'
plt.style.use('seaborn-white')

# Make Dummy Data
N = [100, 125, 150]
P = [[3, 2.2], [5, 3.7], [2, 4]]
dfs = list()
for n, p in zip(N, P):
    x = np.arange(n)
    y = p[0]*x**p[1] + np.average(p)
    df = pd.DataFrame({'x': x, 'y': y})
    dfs.append(df.copy())

# Make Plots
#dfs = [df1, df2, df3]
for i,df in enumerate(dfs):
    plt.plot(df['x'], df['y'], 
             linestyle='--', 
             alpha=0.8, 
             label='df{}'.format(i))

plt.legend(loc='best')
plt.show()

Вывод :
enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...