Я пытаюсь построить несколько графиков с помощью Python. В частности, я работаю с фреймами данных. Я хотел бы знать, как сделать следующие несколько вещей:
- Адаптировать легенду графиков, используя соответствующее имя столбца. Я где-то проверил что-то, связанное с dictioinary ... Однако я собираюсь работать с большим количеством столбцов, чем 4 (как в примере ниже).
- Адаптировать цветовые карты из matplotlib для разных столбцов. Например, , если имя столбцов - «AA» и «CC», используйте одну из цветовых карт, а если содержит «BB» или «DD», используйте другие цветовые карты.
Я заключил код ниже, который я использую в качестве теста.
import numpy as np
import pandas as pd
import pylab as plt
def Plots():
labels_df1 = list(df1.columns.values)
labels_df2 = list(df2.columns.values)
labels_df3 = list(df3.columns.values)
labels_df4 = list(df4.columns.values)
fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(df1, df1, label=labels_df1)
axs[0, 0].set_xlabel('X axis')
axs[0, 0].set_ylabel('Y axis')
axs[0, 0].grid(True, which='both')
axs[0, 0].legend(loc='best', fontsize=8)
axs[0, 1].plot(df1, df2, label=labels_df2)
axs[0, 1].set_xlabel('X axis')
axs[0, 1].set_ylabel('Y axis')
axs[0, 1].grid(True, which='both')
axs[0, 1].legend(loc='best', fontsize=8)
axs[1, 0].plot(df1, df3, label=labels_df3)
axs[1, 0].set_xlabel('X axis')
axs[1, 0].set_ylabel('Y axis')
axs[1, 0].grid(True, which='both')
axs[1, 0].legend(loc='best', fontsize=8)
axs[1, 1].plot(df1, df4, label=labels_df4)
axs[1, 1].set_xlabel('X axis')
axs[1, 1].set_ylabel('Y axis')
axs[1, 1].grid(True, which='both')
axs[1, 1].legend(loc='best', fontsize=8)
plt.show()
df1 = pd.DataFrame(np.random.randn(5, 4), columns=['AA','BB','CC','DD'])
df2 = pd.DataFrame(np.random.randn(5, 4), columns=['AA','BB','CC','DD'])
df3 = pd.DataFrame(np.random.randn(5, 4), columns=['AA','BB','CC','DD'])
df4 = pd.DataFrame(np.random.randn(5, 4), columns=['AA','BB','CC','DD'])
Plots()
введите описание изображения здесь Заранее спасибо !!!