Plotly:如何绘制多折线图?
Plotly: How to plot a multi-line chart?
我有一个二维列表,我想创建一个 Plotly multi-line chart 来表示此数据。
到目前为止我得到了这个代码:
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()
这会产生一个完全错误的图表:
可以通过将给定数据转置后的数据框作为目标来绘制所需的图形。这是使用示例数据创建的。
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()
我有一个二维列表,我想创建一个 Plotly multi-line chart 来表示此数据。
到目前为止我得到了这个代码:
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()
这会产生一个完全错误的图表:
可以通过将给定数据转置后的数据框作为目标来绘制所需的图形。这是使用示例数据创建的。
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()