#python #plotly #plotly-express
#python #plotly #plotly-экспресс
Вопрос:
У меня есть 2d-список, и я хочу создать многострочную диаграмму для представления этих данных.
Пока у меня есть этот код:
print(len(conv_loss),len(conv_loss[0]))
print(np.array(conv_loss).shape)
conv_loss_df = pd.DataFrame(data=conv_loss, index=namelist, columns=rs)
print(conv_loss_df)
какие результаты:
4 10
(4, 10)
0.0 0.1 0.2 ... 0.7 0.8 0.9
mnist 0.020498 0.123125 0.222588 ... 1.122625 1.387823 1.701249
fashion_mnist 0.232772 0.316569 0.433325 ... 1.281240 1.545556 1.830893
cifar10 0.957889 0.851946 0.921106 ... 1.645510 1.815194 2.104631
cifar100 3.516734 3.052485 3.021778 ... 3.688753 3.937770 4.599526
Я бы хотел, чтобы на диаграмме была ось x rs
, цвета namelist
, а ось y — сами соответствующие данные.
Я поиграл с примерами, которые они приводят для построения линейных диаграмм, но, похоже, я просто не могу заставить это работать.
Способ, которым я должен работать, чтобы не допустить ошибок, заключается в:
fig = px.line(conv_loss_df,x=rs)
fig.show()
Ответ №1:
Желаемый график можно нарисовать, нацелившись на фрейм данных с транспонированными данными. Это было создано с использованием выборочных данных.
import numpy as np
import pandas as pd
import plotly.express as px # plotly ver 4.14.1
import random
rs = np.arange(0.1, 1.0, 0.1)
namelist = ['mnist', 'Fasion_mnist','cifar10','cifar100']
mnist = np.random.rand(9)
fasion_mnist = np.random.rand(9)
cifar10 = np.random.rand(9)
cifar100 = np.random.rand(9)
conv_loss_df = pd.DataFrame([mnist,fasion_mnist,cifar10,cifar100], index=namelist, columns=rs)
conv_loss_df.T
fig = px.line(conv_loss_df.T)
fig.show()
Комментарии:
1. Если я скопирую и вставлю код, который вы только что дали, я получу пустой график. Это в
.ipynb
файле, так что, может быть, это как-то связано с этим?2. Я также создал и запустил этот код в jupyterlab, и он отображается правильно, отображается ли пример кода на сайте PLOTLY?
3. Да, все примеры кода с их сайта работают так, как задумано, возможно, в частности, я использую Google colab здесь, я не знаю, будет ли это иметь значение.
4. Версия Google Colaboratory — 4.4.1, а текущая последняя версия — 4.14.1, так почему бы вам не попробовать
pip install -U plotly
обновиться?5. Кажется, это исправлено, большое спасибо! (предлагаю вам добавить «обязательно используйте версию plotly> x» к ответу здесь)