С pandas вам нужно нарисовать весь график, используя тот же ax
. Предположим, вы хотите использовать первый столбец как x
, а все остальные столбцы как y
, все окрашено через значение y
. Вам нужно подавить цветовую панель, так как pandas хочет добавить отдельную цветовую панель для каждого столбца.
from matplotlib import pyplot as plt
import pandas as pd
csv_file1 = pd.read_csv(r'file path')
ax = plt.gca()
columns = csv_file1.columns
for col in columns[1:]:
csv_file1.plot.scatter(x=columns[0], y=col, c=col, colormap='viridis',
ax=ax, colorbar=False)
plt.show()
В качестве альтернативы, если вы хотите присвоить каждому столбцу свой цвет, вы можете рассчитать список цветов. (pandas, кажется, любит их в списке одного цвета):
colors = [[plt.cm.viridis(i / len(columns))] for i in range(len(columns) - 1)]
for col, color in zip(columns[1:], colors):
csv_file1.plot.scatter(x=columns[0], y=col, c=color, ax=ax, colorbar=False)
plt.show()